Java-误解了ceil和floor方法

时间:2018-09-20 04:29:10

标签: java math theory floor ceil

地板:

  

返回小于或等于自变量且等于数学整数的最大(最接近正无穷大)双精度值。 ...

天花板:

  

返回大于或等于自变量且等于数学整数的最小(最接近负无穷大)双精度值。 ...

来源:Docs Oracle

关于楼层:如果我输入System.out.print(Math.floor(2.1));,则会返回2.0。其他示例:System.out.print(Math.floor(2.8));返回2.0。我将以以下示例来说明该描述:如果floor(2.1)最大(最接近正无穷大),结果将是3.0而不是2.0,因为2.0是我认为最接近负无穷大。因此,如果我更改关于地板的描述:

  

返回小于(等于负无穷大)且等于数学整数的最小double值(最接近负无穷大)。 ...

这对我来说很有意义,我知道floor(2.1)返回2.0

当我读到“最接近正无穷大”和“最接近负无穷大”时,我认为在数字行中:

The number line

来源:Quora

编辑:我要问的是:描述使我不寒而栗。我的逻辑说(例如,关于 floor ):首先,好的,当我听发言时,我认为音量最小而不是最大。第二,如果我返回最大,则该值大于或等于参数。 天花板

也是如此

1 个答案:

答案 0 :(得分:2)

  

返回最大(最接近正无穷大)双精度值,该值小于或等于参数,并且等于数学整数

键位于短语中,该短语小于或等于自变量

所以2.0是小于或等于的最大双值 2.1,也等于整数值。

同上的ceil:描述中提到的最小值大于或等于输入值...

因此,原始描述实际上是正确的。