"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."
"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer sscce.org
Abdulla Mamuwala
Ranch Hand
Joined: Jan 09, 2004
Posts: 225
posted
0
I am not sure, but this could be the way you do it. First add 0.5 to the argument and than perform a Math.floor() on it.
Here f6=-5.49 -5.49 + 0.5 = -4.99 Now, we perform a Math.floor() on -4.99 giving -5, because -5 is less than -4.
Similarly f7=5.49 5.49 + 0.5 = 5.99 Now, we perform a Math.floor() on 5.99 giving 5, because 5 is less than 6.
Math.round() returns integer closest to the argument in the case above because the arguments are of type float. [ June 17, 2005: Message edited by: Abdulla Mamuwala ]
Edwin Dalorzo
Ranch Hand
Joined: Dec 31, 2004
Posts: 961
posted
0
For the SCJP exam I think it is important to recognize the next things
double Math.floor(double a): receives a double and returns a double
double Math.ceil(double a) : receives a double and returns a double
int Math.round(float a): receives a float returns a integer
long Math.round(double a): receives a double returns a long
It is important to recognize that in the next output
Now, rouund might behave different for positive and negative numbers.
However:
Be careful with that, because that is a probable question in the exam.
Rick O'Shay
Ranch Hand
Joined: Sep 19, 2004
Posts: 531
posted
0
float f6 = -5.49f; float f7 = 5.49f;
Rounds off to the nearest integer: -5 and 5 respectively.
Given -5.5 and 5.5 you need a rounding rule since there are two "nearest" integers. They decided to round up: -5, 6 respectively. In other words if smack dab in the middle add 0.5.
shetal bansal
Ranch Hand
Joined: May 09, 2005
Posts: 63
posted
0
Thanxs a lot for the wonderful replies!!
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to
run our stuff on 16 servers instead of 3.