floor:
Returns the largest (closest to positive infinity) double value that is less than or equal to the argument and is equal to a mathematical integer. ...
ceil:
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. ...
Source: Docs Oracle
About floor: If I type System.out.print(Math.floor(2.1));
returns 2.0
. Other example: System.out.print(Math.floor(2.8));
returns 2.0
. I am going to argue this description with the example: if floor(2.1)
was the largest (closest to positive infinity) as a result would be 3.0
not 2.0
, because 2.0
is closest to negative infinity I think. So if I change the description about floor:
Returns the smallest (closest to negative infinity) double value that is less than or equal to the argument and is equal to a mathematical integer. ...
It makes sense for me, I would understand that floor(2.1)
returns 2.0
When I read "closest to positive infinity" and "closest to negative infinity" I think in the number line:
Source: Quora
EDIT: What I am asking is: the description broke my mind. My logic says (about floor for example): First, Ok when I listen floor I think in the smallest not in the largest. Second, if I returns the largest, that is greater not less than to the argument. The same happens with ceil