Java收集任何数字
我似乎无法find我正在寻找关于一个简单的问题的答案:我如何将任何数字四舍五入到最接近的int
?
例如,每当数字是0.2,0.7,0.22222,0.44324,0.99999,我想结果是1。
到目前为止,我有
int b = (int) Math.ceil(a / 100);
但是,似乎并没有做这项工作。
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
我不知道你为什么除以100,但在这里我的假设int a;
int b = (int) Math.ceil( ((double)a) / 100);
要么
int b = (int) Math.ceil( a / 100.0);
int RoundedUp = (int) Math.ceil(RandomReal);
这似乎做了一个完美的工作。 每次工作。
假设一个双精度,我们需要一个舍入的数字,没有小数点。 使用Math.round()函数。
这是我的解决scheme。
double a = 0.99999; int rounded_a = (int)Math.round(a); System.out.println("a:"+rounded_a ); Output : a:1