java 为什么Math类下ceil函数的表述是“返回最小的(最接近负无穷大) double 值”?

Math.ceil(3.5) ; 返回的是 4 ,这个数不是离负无穷大更加远了吗?

3个回答

ceil函数的 完整 表述如下:

This method returns the smallest integer that is greater than or equal to the argument. Returned as a double.

请注意标粗的地方。也就是说该函数返回:

 大于参数的整数值中最小的那个 

 大小3.5的整数值中最小的就是4
 ceil(3.5)  = 4.0

 大于-100.675的整数值中最小的就是100
 ceil(-100.675) = -100.0

或者等于参数值

参数本来就是整数值了
ceil(90) = 90.0
fight_in_dl
战在春秋 不好意思,答案中有笔误:大于-100.675的整数值中最小的就是-100
2 年多之前 回复

ceil的意思是天花板,按理来说他返回的应该是一个大于参数值的最小浮点数,并于整数相等,除了特殊情况

 static double ceil(double a) 
          返回最小的(最接近负无穷大)double 值,该值大于等于参数,并等于某个整数。 
static double ceil(double a) 
Returns the smallest (closest to negative infinity) double value that is greater than or equal to the argument and is equal to a mathematical integer. 

其实,是这样理解的。先看后面一句话,返回值大于等于参数,并等于某个整数。
如果你输入是3.5。那么这个返回值的范围就是**大于等于4的自然数**。
然后前面一句话再加以限制,取**这个范围**中**最小的double值**,也就是4.0
括号里的内容**最接近负无穷大**是对**最小**的解释。**大于等于4的自然数**中最小的自然是4.0

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问