为什么Float 999999.99自动轮到1000000.0,但是99999.99,99999999,不会自动轮

时间:2018-03-24 06:08:30

标签: java floating-point rounding

的java。我知道 “浮动通常会在其第8位有效数字 ”中进行四舍五入,而使用double会避免这个问题。

谁能有人告诉我 为什么它会以8位数字进行四舍五入。

1 个答案:

答案 0 :(得分:0)

在Java中,浮点运算的基础是二进制,而不是十进制。数字不使用十进制数字舍入。它们使用二进制数字舍入。

二进制分数的间距相对于小数部分是不规则的,因此在不同的十次幂下,舍入效应会有所不同。