Java 向上舍入任意数字

2022-08-31 07:07:39

关于一个简单的问题,我似乎找不到我正在寻找的答案:如何将任何数字四舍五入到最近的数字?int

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

到目前为止,我有

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

不过,它似乎并没有完成这项工作。


答案 1

Math.ceil() 是正确的调用函数。我猜是一个,这将使执行整数算术。请尝试。ainta / 100Math.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

查看 http://ideone.com/yhT0l


答案 2

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

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

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