开发过程中,如果我们需要精确计算的结果时,必须使用bigDecimal 类来操作。
BigDecimal 中常用的方法
加 add(BigDecimal)
减 subtract(BigDecimal)
乘 multiply(BigDecimal)
除 divide(BigDecimal,int) 注:精确到指定小数点,防止无法整除的情况
比大小 compareTo(BigDecimal)
工具类
public class PrecisionComputingUtil {
//默认除法运算精度
private static final int DEF_DIV_SCALE = 4;
/**
* double 类型的加法运算
*
* @param num1
* @param num2
* @return 两个参数的和
*/
public static double add(double num1, double num2) {
BigDecimal b1 = new BigDecimal(Double.toString(num1));
BigDecimal b2 = new BigDecimal(Double.toString(num2));
return b1.add(b2).doubleValue();
}
/**
* String 类型的加法运算
*
* @param num1
* @param num2
* @return 两个参数的和
*/
public static BigDecimal add(String num1, String num2) {
BigDecimal b1 = new BigDecimal(num1);
BigDecimal b2 = new BigDecimal(num2);
return b1.add(b2);
}
/**
* String 类型 精确到指定位数的加法运算
*
* @param num1
* @param num2
* @param scale 保留scale 位小数
* @return 两个参数的和
*/
public static String add(String num1, String num2, int scale) {