Java汇总了任何数字

问题

我似乎无法找到一个关于一个简单问题的答案:如何将任何数字四舍五入到最近的int

例如,每当数字为0.2,0.7,0.2222,0.4324,0.9999时,我希望结果为1。

到目前为止我有

int b = (int) Math.ceil(a / 100);

但它似乎并没有完成这项工作。


#1 热门回答(225 赞)

Math.ceil()是正确的呼叫功能。我猜378863468是anint,这将使得a / 100执行整数运算。 TryMath.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

Seehttp://ideone.com/yhT0l


#2 热门回答(13 赞)

我不知道你为什么要除以100但这里我的假设是int a;

int b = (int) Math.ceil( ((double)a) / 100);

要么

int b = (int) Math.ceil( a / 100.0);

#3 热门回答(8 赞)

int RoundedUp = (int) Math.ceil(RandomReal);

这似乎做得很好。每次都工作。