This week's book giveaway is in the Design forum.We're giving away four copies of Building Microservices and have Sam Newman on-line!See this thread for details.
Big Moose Saloon
 Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies Register / Login Win a copy of Building Microservices this week in the Design forum!

# Math.round() ? please explain ?

mark stone
Ranch Hand

Joined: Dec 18, 2001
Posts: 417
can someone explain what is the difference between these two ?
System.out.println(Math.round(3.5)); //4
System.out.println(Math.round(-3.5)); //-3
why what is the logic behind this ?
Tarik Makota
Greenhorn

Joined: Jan 29, 2002
Posts: 23
Basically:
Java Math.round() which by the way returns long always leans towards higher number in case of those in the midle like : 2.5, 3.5, -2.5, -3.5.
so if you have -5.5 first highest integer/non-decimal is -5.
if you have 6.5 it takes first highest integer which is 7.
Tarik
sylvia weller
Greenhorn

Joined: Jan 07, 2002
Posts: 29
...Java Math.round() which by the way returns long...

This is not always the case. There are two 'round' methods:
int <- Math.round(float)
long <- Math.round(double)
Sylvia
Ranch Hand

Joined: Nov 04, 2001
Posts: 1873
hi mark,
i read in Val's note that,
Math.round(n) = Math.floor(n+0.5);
check with ur example. its right.
regards
maulin

I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com

subject: Math.round() ? please explain ?