-
java中处理带精度的数学算术运算时,
使用double类型的值进行算术运算时,
运算结果可能不正确,并不是你想要的结果。
处理这种情况,需要使用BigDecimal类来处理,
具体如下:
BigDecimal decimal = BigDecimal(String val);
-
减法操作:
BigDecimal a = new BigDecimal("2.23");
BigDecimal b = new BigDecimal("1.93");
System.out.println(a.subtract(b));
-
加法操作:
BigDecimal a = new BigDecimal("2.23");
BigDecimal b = new BigDecimal("1.93");
System.out.println(a.add(b));
-
乘法操作:
BigDecimal a = new BigDecimal("2.23");
BigDecimal b = new BigDecimal("1.93");
System.out.println(a.multiply(b));
-
除法操作:
BigDecimal a = new BigDecimal("2.23");
BigDecimal b = new BigDecimal("1.93");
System.out.println(a.divide(b,3,RoundingMode.UP));
第二个参数表示小数点几位,第三个参数表示舍入模式。
来源:https://jingyan.baidu.com/article/6d704a130a500f28db51ca09.html