Java舍入浮动到x小数位不正确

时间:2016-04-06 01:06:18

标签: java rounding

我目前舍入到x小数位的方法:

public static float roundInc(float value, float increment) {
    float inc = 1f / increment;
    return Math.round(value * inc) / inc;
}

对某些数字来说效果很好,但似乎打破了,我似乎无法解决这个问题。

我通过值2.109375 函数的输出返回2.11 然后我将它添加到5.0(也是一个浮点数,存储在一个浮点数组(float [])),由于一些奇怪的原因,添加2.11 + 5.0返回7.1099997 ...

有人可以解释一下吗?因为据我所知,在打印了两个2.11和5.0后,显示了这两个确切的值,然后加在一起打破了一切......

0 个答案:

没有答案