java解决double和float精度不准确的问题

2020-11-24 10:38:06 浏览数 (2)

在java中使用double和float时,会小概率出现精度不准备的问题,比如System.out.println(0.1 0.2);输出0.30000000000000004。 解决方法是使用BigDecimal。

BigDecimal有几个构造函数,建议用String参数的构造函数。

System.out.println(new BigDecimal(0.1)); 输出:0.1000000000000000055511151231257827021181583404541015625

System.out.println(new BigDecimal(“0.1″)); 输出:0.1

0 人点赞