It isn’t at all clear in the Javadoc comments. If you find the Java6 version, it says
Rob Spoor wrote: . . . as specified in the Javadoc comments . . .
. . . but the Java7 version says
Returns the closest long to the argument. The result is rounded to an integer by adding 1/2, taking the floor of the result, and casting the result to type long. In other words, the result is equal to the value of the expression:
(long)Math.floor(a + 0.5d)
I think the old version was much easier to understand.
with ties rounding up.
saahil gupta wrote:What is the Major difference between Math.Round and Math.Floor Functions?
directly from the API:
Returns the closest long to the argument.
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
Campbell Ritchie wrote:I think the old version was much easier to understand.
I think the new version is much easier to understand; moreover the old version is decidedly too much information. Documentation should tell me in no uncertain terms what result I will get, to be sure; but it should not lay bare the procedure employed to reach that result.