在Java公式中四舍五入到十并不';没有道理
我发现了这个公式,但我不知道它是如何工作的:在Java公式中四舍五入到十并不';没有道理,java,Java,我发现了这个公式,但我不知道它是如何工作的: (n + 5) / 10 * 10 这将一个数字四舍五入到十的倍数,但当我计算它时,它只是除以并乘以n+5。这实际上是如何工作的 示例(Java语言): 而据我所知,它实际上应该是29。您正在int上执行这些操作。这就是为什么每个操作结果也是一个int。发生的情况是: (24+5)=29 29/10=2(因为分数部分总是以整数形式删除) 2*10=20 此舍入方法仅适用于float和double。您可以尝试将int强制转换为double执行顺序为从
(n + 5) / 10 * 10
这将一个数字四舍五入到十的倍数,但当我计算它时,它只是除以并乘以n+5。这实际上是如何工作的
示例(Java语言):
而据我所知,它实际上应该是29。您正在
int
上执行这些操作。这就是为什么每个操作结果也是一个int
。发生的情况是:
(24+5)=29
29/10=2
(因为分数部分总是以整数形式删除)
2*10=20
此舍入方法仅适用于
float
和double
。您可以尝试将int
强制转换为double
执行顺序为从左到右。29/10
在整数除法中给出了什么?如果使用双精度运算,结果将是29。
(24 + 5) / 10 * 10 = 20