我在 SO 上找到了这个公式,但我不明白它是如何工作的:
(n + 5) / 10 * 10
这会将数字舍入为 10 的倍数,但当我计算它时,它只是除以并乘回到 n+5。这实际上是如何运作的?
示例(Java 语言):
(24 + 5) / 10 * 10 = 20
据我所知,实际上应该是 29。
最佳答案
您正在 int
上执行这些操作。因此,每个运算结果也是一个int
。发生的情况是:
(24 + 5) = 29
29/10 = 2
(因为小数部分总是以整数形式去掉)
2 * 10 = 20
此舍入方法仅适用于 float
和 double
。您可以尝试将 int
转换为 double
。
关于java - Java公式中四舍五入到十没有意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34710110/