# Math.random() & .round() question from RHE

Trevor Green

Ranch Hand

Posts: 44

posted 15 years ago

A question from RHE is:

"What is the value of the following expression?

Math.round(Math.random() + 2.50001);"

Answers: A) 2; B) 3; C) It is impossible to say.

The answer is 3 (not "It is impossible to say").

This implies that you cannot get a result of 3.5

The implication of this is that Math.random() won't return .99999. I realise it's result is 0<=x<1.0. So is the result only to four decimal places (ie max value is 0.9999)?

"What is the value of the following expression?

Math.round(Math.random() + 2.50001);"

Answers: A) 2; B) 3; C) It is impossible to say.

The answer is 3 (not "It is impossible to say").

This implies that you cannot get a result of 3.5

The implication of this is that Math.random() won't return .99999. I realise it's result is 0<=x<1.0. So is the result only to four decimal places (ie max value is 0.9999)?

Jyotsna Umesh

Ranch Hand

Posts: 94

posted 15 years ago

Hi,

Math.random() results in double primitive type and you get result to approx. 12 decimal places but it will always be less than 1 so after adding to 2.50001 it will always be very close to 3 but never equal to 3, and Math.round() results in long primitive type so you get 3

I hope its clear

Jyotsna

Originally posted by Trevor Green:

A question from RHE is:

"What is the value of the following expression?

Math.round(Math.random() + 2.50001);"

Answers: A) 2; B) 3; C) It is impossible to say.

The answer is 3 (not "It is impossible to say").

This implies that you cannot get a result of 3.5

The implication of this is that Math.random() won't return .99999. I realise it's result is 0<=x<1.0. So is the result only to four decimal places (ie max value is 0.9999)?

Hi,

Math.random() results in double primitive type and you get result to approx. 12 decimal places but it will always be less than 1 so after adding to 2.50001 it will always be very close to 3 but never equal to 3, and Math.round() results in long primitive type so you get 3

I hope its clear

Jyotsna

Trevor Green

Ranch Hand

Posts: 44