newbie question

W

Will

[Note: parts of this message were removed to make it a legal post.]

Greetings all, I think this is generally more a programming question than a
ruby explicit one, however, I am wondering why this code yields 23,
0.999999999999979 instead of 23, 1.

Any help would be great!

i = 0
while i <= 50
a = 37*i / 50
c = a + 0.0
b = (37*i/50.0 - c ) *50
if b < 1.5 && b > 0.5
puts i
puts b
end
i = i+1
end


thanks much
Will
 
T

Todd Benson

Greetings all, I think this is generally more a programming question than a
ruby explicit one, however, I am wondering why this code yields 23,
0.999999999999979 instead of 23, 1.

Any help would be great!

i = 0
while i <= 50
a = 37*i / 50
c = a + 0.0
b = (37*i/50.0 - c ) *50
if b < 1.5 && b > 0.5
puts i
puts b
end
i = i+1
end

require 'bigdecimal'

#put a bigdecimal in the numerator or denominator...
((BigDecimal("37") * 23 / 50 - 17) * 50).to_f
#=> 1.0

Todd
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,780
Messages
2,569,611
Members
45,280
Latest member
BGBBrock56

Latest Threads

Top