如何在不使用"round function"或"if and else statements"的情况下将数字四舍五入到 java 中最接近的整数?



我必须将一个数字四舍五入到最接近的整数。因此,4.3 将四舍五入为 4,4.7 将四舍五入为 5。中间有小数的数字(如 4.5)也会四舍五入为 5。我必须在不使用和"数学"函数或"if and else 语句"的情况下进行此舍入。

答案很简单。将 0.5 添加到数字,然后将其转换为 int。喜欢这个:

int rounded = (int) (unrounded + 0.5);

这是因为如果小数部分小于 0.5,则整数部分保持不变,并且截断给出正确的结果。如果小数部分大于 0.5,则整数部分递增,再次截断给出我们想要的。

最新更新