使用Math.ceil()的问题

时间:2015-11-06 04:27:24

标签: java

我试图使用Math类的ceil()方法来输入一个double;初始化为0.4时,ceil()方法应该将cat键入1.0。然而,出于某种原因,我无法弄清楚,它无法正常工作。一些建议将不胜感激。

double num = 0.4;

System.out.println(num); // 0.4

Math.ceil(num);

System.out.println(num); // 0.4

3 个答案:

答案 0 :(得分:2)

如果您查看Math.ceil的文档,您会看到它说:

  

返回最大(最接近负无穷大)double值,该值大于或等于参数且等于数学整数。

强调我的。它不会修改您传递的值(事实上,由于Java的工作方式,它不能)。相反,它返回新值。

要获得您期望的值,您应该将该值分配回变量num

double num = 0.4;
System.out.println(num); // 0.4
num = Math.ceil(num);
System.out.println(num); // 1.0

答案 1 :(得分:1)

你需要改变这个:

num = Math.ceil(num);

发生的事情是你没有将Math.ceil(num)的值赋给任何东西。

答案 2 :(得分:0)

您没有指定Math.ceil的值。 num的值保持不变。

要打印num的上限,您可以将呼叫置于sys中,或者只是尝试以下代码:

double num = 0.4;

System.out.println(num); // 0.4

double ceiledNum=Math.ceil(num);

System.out.println(ceiledNum);