Math.rint()
和Math.ceil()
方法返回相同的值,有人可以解释原因吗?
这些方法有什么区别?何时使用Math.rint()
以及在何处使用Math.ceil()
?
public class BasicMathDemo {
public static void main(String[] args) {
double b = 43.74;
System.out.println("The rint of "+ b +" is : "+Math.rint(b));
System.out.println("The ceiling of " + b +" is: "+ Math.ceil(b));
}
}
输出是:
The rint of 43.74 is : 44.0
The ceiling of 43.74 is: 44.0
答案 0 :(得分:2)
它们返回相同的值,因为它们的设计方式适用于给定的示例。
rint
:
"返回与参数和值最接近的double值 等于数学整数。"
和ceil
:
"返回最小(最接近负无穷大)双值 大于或等于参数且等于a 数学整数。"
见here。
所以,在这两种情况下,他们都会围捕。如果你想看到它们返回不同值的示例,请使用43.4 - 例如。
您可以在他们将给您所需结果的地方使用它们。天花板只会给你一个大于或等于传递值的数字。另一方面,可以使用rint
传递的数字少于数字。
答案 1 :(得分:2)
Math.rint()
将您的号码四舍五入到最接近的整数。 See
Math.ceil()
将您的号码四舍五入到最接近的高整数。 See
Math.floor()
将您的号码向下舍入到最接近的较低整数。 See
示例:
float number = 3.38;
double rint = Math.rint(number); // This will return 3
double ceil = Math.ceil(number); // This will return 4
double floor = Math.floor(number); // This will return 3
答案 2 :(得分:0)
假设一个数组[1.1,2.9] ceil给2,3 flo0r给出1,2 林特给出1,3