Index: forgon-tools/src/main/java/com/forgon/tools/MathTools.java =================================================================== diff -u -r13153 -r13154 --- forgon-tools/src/main/java/com/forgon/tools/MathTools.java (.../MathTools.java) (revision 13153) +++ forgon-tools/src/main/java/com/forgon/tools/MathTools.java (.../MathTools.java) (revision 13154) @@ -35,10 +35,10 @@ return s; } - public static double add(double a, double b) { + /*public static double add(double a, double b) { return new BigDecimal(Double.toString(a)).add( new BigDecimal(Double.toString(b))).doubleValue(); - } + }*/ // newScale为小数点后保留的位数 public static double mul(double a, double b, int newScale) { @@ -67,6 +67,23 @@ } return ret; } + /** + * 计算两个数之和.如果有一个数为null,返回值为另一个数的值,如果两个数都为null,则返回0.0 + * @param a 加数,可以为null + * @param b 加数,可以为null + * @return + */ + public static BigDecimal add(Number a,Number b){ + BigDecimal ret = null; + if(a == null){ + a = new BigDecimal(0.0); + } + if(b == null){ + b = new BigDecimal(0.0); + } + ret = new BigDecimal(a.doubleValue()).add(new BigDecimal(b.doubleValue())); + return ret; + } // 将对象转为Integer,如果对象为空或者不为数字,则转为0 public static Integer object2Integer(Object object){ Integer result = 0;