File APIs for Java Developers Manipulate DOC, XLS, PPT, PDF and many others from your application. http://aspose.com/file-tools
Big Moose Saloon
 Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies Register / Login Win a copy of REST with Spring (video course) this week in the Spring forum!

# class Math's round method

payal bansal
Greenhorn

Joined: May 01, 2001
Posts: 23
Can anyone tell me the reason for this o/p???
float f4 = -5.5f;
float f7 = 5.5f;

System.out.println("Round f4 is " + Math.round(f4)); ------>-5
System.out.println("Round f7 is " + Math.round(f7)); -------->6
Cindy Glass
"The Hood"
Sheriff

Joined: Sep 29, 2000
Posts: 8521
Because it is rounding "up".
6 is the next higher integer than 5.5
-5 is the next higher integer than -5.5

"JavaRanch, where the deer and the Certified play" - David O'Meara
js yang
Ranch Hand

Joined: May 09, 2001
Posts: 40
Keep in mind that .5 rounds up to the next highest inter. For example, 1.5 will round up to 2. So, what will -1.5 round up to? -1 and not -2 because you are rounding the number to the next highest integer--which is -1 and not -2.
oops...Cindy beat me by 2 minutes. What she said is correct.
[This message has been edited by js yang (edited June 10, 2001).]
payal bansal
Greenhorn

Joined: May 01, 2001
Posts: 23
Thanks for replying. But do tell me onething------
when float f4 = -5.6f;
Math.round(f4)-------->-6 Why??? Why don't it roundsup to -5?
payal bansal
Greenhorn

Joined: May 01, 2001
Posts: 23
Thanks for replying. But do tell me onething------
when float f4 = -5.6f;
Math.round(f4)-------->-6 Why??? Why don't it roundsup to -5?
Junilu Lacar
Bartender

Joined: Feb 26, 2001
Posts: 6521

21

Payal,
The round method will round to the nearest integer, which in the case of -5.6 would be -6. The rounding to -5 would apply for values of -5.5 to -5.0. On a number line:
<pre>
neg <--|--.--.--.--.--|--|--.--.--.--|----> pos
-6 -5.6 -5.5 -5.0
</pre>
Originally posted by payal bansal:
Thanks for replying. But do tell me onething------
when float f4 = -5.6f;
Math.round(f4)-------->-6 Why??? Why don't it roundsup to -5?

Junilu - [How to Ask Questions] [How to Answer Questions]

It is sorta covered in the JavaRanch Style Guide.

subject: class Math's round method