Java 对任意数字进行四舍五入
对于一个简单的问题,我似乎找不到我正在寻找的答案:如何将任何数字四舍五入到最接近的 int
?
I can't seem to find the answer I'm looking for regarding a simple question: how do I round up any number to the nearest int
?
例如,只要数字为 0.2、0.7、0.2222、0.4324、0.99999,我希望结果为 1.
For example, whenever the number is 0.2, 0.7, 0.2222, 0.4324, 0.99999 I would want the outcome to be 1.
目前为止
int b = (int) Math.ceil(a / 100);
不过,它似乎没有做这项工作.
It doesn't seem to be doing the job, though.
推荐答案
Math.ceil()
是要调用的正确函数.我猜 a
是一个 int
,它会让 a/100
执行整数运算.改用 Math.ceil(a/100.0)
.
Math.ceil()
is the correct function to call. I'm guessing a
is an int
, which would make a / 100
perform integer arithmetic. Try Math.ceil(a / 100.0)
instead.
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
参见 http://ideone.com/yhT0l
相关文章