我尝试在java中减去的数字,这一点让我意外的结果你如何使用双来获得期望的结果
public class FloatWeird
{
public static void main(String[] args)
{
double n = 1;
for(int i = 0;i<10;i++)
{
System.out.println(n);
n = n - 0.10;
}
}
}
结果
1.0
0.9
0.8
0.7000000000000001
0.6000000000000001
0.5000000000000001
0.40000000000000013
0.30000000000000016
0.20000000000000015
0.10000000000000014
我已经通过一些论坛上消失了并明白使用BigDecimal类是一种解决方案。然而,有没有一种方法可以使用double来更简单地修正它?
这些数字代表什么?假设它们代表您需要用来制作鸡尾酒的杜松子酒的量。如果你增加百万分之一十亿分之一升超过需要,真的很重要吗? –
恕我直言,这不是重复的,因为OP特别声明他们知道使用BigDecimal的替代方案。 –