Java -- 数字

@、运用BigDecimal处理Double类型的算术运算的精度问题

原文:https://blog.csdn.net/j754379117/article/details/52238396

可使用 BigDecimal.valueOf(Double val) 或者 new BigDecimal(Double.toString(Double val)) 的方式将Double类型转换成BigDecimal类型,然后利用BigDecimal对象的成员方法进行算术运算。

@、使用ROUND_HALF_UP进行四舍五入

如果直接使用new BigDecimal(double)来转换double类型的数据,可能无法成功的四舍五入。需要使用使用 BigDecimal.valueOf(Double val) 或者 new BigDecimal(Double.toString(Double val)) 的方式将Double类型转换成BigDecimal类型。

原文:https://www.jianshu.com/p/4737a066d93e

@、BigDecimal比较

如果只是比较数值是否相等,可用 bigVal1.compareTo(bigVal2) == 0 来判断;

如果既要比较数值是否相等又要比较精度,可用 bigVal1.equals(bigVal2) 来判断。

原文地址:https://www.cnblogs.com/yarightok/p/9018730.html