java下double乘以100后精度丢失问题

Posted 以德为先

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java下double乘以100后精度丢失问题相关的知识,希望对你有一定的参考价值。

比如

System.out.println(0.14*100);

输出: 14.000000000000002

 

解决方法:

BigDecimal b = new BigDecimal(String.valueOf(0.14));
BigDecimal c = new BigDecimal(String.valueOf(100));
System.out.println(b.multiply(c));
System.out.println(b.multiply(c).intValue());
System.out.println(b.multiply(c).doubleValue());

输出: 

14.00
14
14.0

以上是关于java下double乘以100后精度丢失问题的主要内容,如果未能解决你的问题,请参考以下文章

java里面double 做乘法和加法会丢失精度嘛?

C#double数据类型运算中的误差(乘以100得到的数据不准确)

java double b = 0.333 , 乘以100 以后小数位变多;

double 转换long 丢失精度

前端获取Long类型精度丢失解决办法

Java double和 float丢失精度问题