对于一个简单的问题,我似乎找不到我想要的答案:如何将任何数字四舍五入到最接近的int
例如,当数字是0.20.7,0.2222,0.4324,0.99999时,我希望结果是1。
到目前为止,我已经
int b = (int) Math.ceil(a / 100);
不过,它似乎没有做到这一点。
发布于 2010-12-28 02:02:43
Math.ceil()
是要调用的正确函数。我猜a
是一个int
,它会让a / 100
执行整数运算。请尝试使用Math.ceil(a / 100.0)
。
int a = 142;
System.out.println(a / 100);
System.out.println(Math.ceil(a / 100));
System.out.println(a / 100.0);
System.out.println(Math.ceil(a / 100.0));
System.out.println((int) Math.ceil(a / 100.0));
输出:
1
1.0
1.42
2.0
2
发布于 2010-12-28 02:07:52
我不知道为什么你要除以100,但这里我的假设是int a;
int b = (int) Math.ceil( ((double)a) / 100);
或
int b = (int) Math.ceil( a / 100.0);
发布于 2016-01-31 17:28:26
int RoundedUp = (int) Math.ceil(RandomReal);
这似乎完成了完美的工作。每次都很有效。
https://stackoverflow.com/questions/4540684
复制相似问题