/** * Coerce to a string. * * @param val Object to be coerced. * @return The String coerced value. * @throws NullPointerException if val is null and mode is strict. */ public String toString(Object val) { if (val == null) { controlNullOperand(); return ""; } else if (val instanceof Double) { Double dval = (Double) val; if (Double.isNaN(dval.doubleValue())) { return ""; } else { return dval.toString(); } } else { return val.toString(); } }
/** * Coerce to a boolean (not a java.lang.Boolean). * * @param val Object to be coerced. * @return The boolean coerced value, or false if none possible. */ public boolean toBoolean(Object val) { if (val == null) { controlNullOperand(); return false; } else if (val instanceof Boolean) { return ((Boolean) val).booleanValue(); } else if (val instanceof Number) { double number = toDouble(val); return !Double.isNaN(number) && number != 0.d; } else if (val instanceof String) { String strval = val.toString(); return strval.length() > 0 && !"false".equals(strval); } // TODO: is this a reasonable default? return false; }
controlNullOperand(); return 0; } else if (val instanceof Double) {
controlNullOperand(); return 0L; } else if (val instanceof Double) {
controlNullOperand(); return 0; } else if (val instanceof Double) {
controlNullOperand(); return BigInteger.ZERO; } else if (val instanceof BigInteger) {
return roundBigDecimal((BigDecimal) val); } else if (val == null) { controlNullOperand(); return BigDecimal.ZERO; } else if (val instanceof String) {