BigDecimal精确计算数值

使用float或者double进行计算时,会丢失精度,例如

double a = 0.05;
double b = 0.01;
System.out.println(a + b);

结果输出为0.060000000000000005,这就是因为精度的问题才会产生这样的计算结果。那么,此时可以使用BigDecimal来防止精度的丢失问题。

但是,对于float或者是double类型,不建议直接使用BigDecimal的构造方法形式,可以使用其提供的valueOf方法。

BigDecimal v1 = BigDecimal.valueOf(0.05);
BigDecimal v2 = BigDecimal.valueOf(0.01);
如果您觉得本文对您有用,欢迎捐赠或留言~
微信支付
支付宝

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注