如何在不使用“round函数”或“if and else语句”的情况下将数字舍入到java中最接近的整数?

时间:2013-09-09 00:29:21

标签: java

我必须将数字四舍五入到最接近的整数。所以4.3将四舍五入为4,4.7将四舍五入为5.中间带有小数的数字(如4.5)也将四舍五入为5。我必须在不使用和“数学”的情况下进行舍入。函数或“if和else语句”。

1 个答案:

答案 0 :(得分:17)

答案很简单。在数字上加0.5,然后将其转换为int。像这样:

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

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