Win a copy of The Way of the Web Tester: A Beginner's Guide to Automating Tests this week in the Testing forum!

# Doubt in math.round

Dhivya rajagopal
Ranch Hand
Posts: 42

The following is the output for the above program
Round f4 is -5
Round f5 is 6
Round f6 is -5
Round f7 is 5
My doubt is how -5 became the output for f4?

Rob Spoor
Sheriff
Posts: 20709
68
When a value's decimal part is exactly 0.5, it's rounded up (as specified in the Javadoc comments). For negative numbers this means towards 0. For positive numbers this means away from 0.

Campbell Ritchie
Sheriff
Posts: 50702
83
Rob Spoor wrote: . . . as specified in the Javadoc comments . . .
It isn’t at all clear in the Javadoc comments. If you find the Java6 version, it 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)
. . . but the Java7 version says
with ties rounding up.
I think the old version was much easier to understand.

Ifteqar Ald
Ranch Hand
Posts: 73
What is the Major difference between Math.Round and Math.Floor Functions?

Paul Clapham
Sheriff
Posts: 21443
33
saahil gupta wrote:What is the Major difference between Math.Round and Math.Floor Functions?

0 or 1.

Jeff Verdegan
Bartender
Posts: 6109
6
saahil gupta wrote:What is the Major difference between Math.Round and Math.Floor Functions?

When you read the docs for both, what part didn't you understand?

When you executed round() and floor() on 1.0, 1.1, 1.4, 1.5, 1.6, and 1.9, which output did not make sense to you?

fred rosenberger
lowercase baba
Bartender
Posts: 12234
36
saahil gupta wrote:What is the Major difference between Math.Round and Math.Floor Functions?

directly from the API:

round:
Returns the closest long to the argument.

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

dennis deems
Ranch Hand
Posts: 808
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.