# Math.round() returns what ?

Sherry Jacob

Ranch Hand

Posts: 128

posted 11 years ago

I have a problem,

I studied using the Khalid Mughal book. This book says that the Math.round() function returns an int.

However, while testing myself on MindQ's mock exam, I came across a question which says, What method(s) from the java.lang.Math class might method() be if the statement

method( -4.4 ) == -4; is true ?

The options were : round(), min(), trunc(), abs(), floor(), ceil().

I marked round() according to what Khalid's book says. But the answer is round(), floor() and ceil() !!

Please help...

I studied using the Khalid Mughal book. This book says that the Math.round() function returns an int.

However, while testing myself on MindQ's mock exam, I came across a question which says, What method(s) from the java.lang.Math class might method() be if the statement

method( -4.4 ) == -4; is true ?

The options were : round(), min(), trunc(), abs(), floor(), ceil().

I marked round() according to what Khalid's book says. But the answer is round(), floor() and ceil() !!

Please help...

<strong><br />Cheers !!<br /> <br />Sherry<br /></strong><br />[SCJP 1.4]

Joseph Clark

Ranch Hand

Posts: 48

posted 11 years ago

Math.floor(-4.4) returns -5.0, which the '==' operator will narrowly convert to int when compared against -4 (and will result in a

Math.ceil(-4.4) returns -4.0, which will return

Math.round(-4.4) returns (long) -4, which will be true for the comparison.*

. . . will output . . .

Math.ceil(-4.4))==-4 is true

-5.0

Math.round(-4.4))==-4 is true

*Correction: -4.4 is a

[ September 11, 2005: Message edited by: michael clark ]

**false**for the comparison).Math.ceil(-4.4) returns -4.0, which will return

**true**when compared against -4.Math.round(-4.4) returns (long) -4, which will be true for the comparison.*

. . . will output . . .

Math.ceil(-4.4))==-4 is true

-5.0

Math.round(-4.4))==-4 is true

*Correction: -4.4 is a

**double**, so,**Math.round(-4.4)**returns the 64-bit long integer instead of the**int**type integer.[ September 11, 2005: Message edited by: michael clark ]

Shivani Chandna

Ranch Hand

Posts: 380

Sandeep Chhabra

Ranch Hand

Posts: 340

posted 11 years ago

Hi,

Docs says about round that..

Special cases:

If the argument is NaN, the result is 0. If the argument is negative infinity or any value less than or equal to the value of Integer.MIN_VALUE, the result is equal to the value of Integer.MIN_VALUE. If the argument is positive infinity or any value greater than or equal to the value of Integer.MAX_VALUE, the result is equal to the value of Integer.MAX_VALUE.

Sandy

Docs says about round that..

Special cases:

Sandy

Regards<br />Sandy<br />[SCJP 5.0 - 75%]<br />[SCWCD 1.4 - 85%]<br />------------------<br />Tiger, Tiger burning bright,<br />Like a geek who works all night,<br />What new-fangled bit or byte,<br />Could ease the hacker's weary plight?