File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Math.round() returns what ?

 
Sherry Jacob
Ranch Hand
Posts: 128
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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...
 
Joseph Clark
Ranch Hand
Posts: 48
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Math.floor(-4.4) returns -5.0, which the '==' operator will narrowly convert to int when compared against -4 (and will result in a 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
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
and well Math.round() returns an int when a float is passed and returns a long when double is passed....
 
Sandeep Chhabra
Ranch Hand
Posts: 340
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
     
    I agree. Here's the link: http://aspose.com/file-tools
    • Post Reply
    • Bookmark Topic Watch Topic
    • New Topic