I'm having an issue with a float being converted to an int,

The maths is part of a vector rotation of a little video game, which x,y
coords are rotated at a given angle.

For what ever reason the first instance gives an error, and every
instance there after works as it should

This cant be right?


ruby 1.8.7
[irb]
# This works the way I would think
>> 1.0.o_i
=> 1


# This doesn't
>> x = -1
>> y = -1
>> angle = 90 * Math::PI / 180
>> n_x = (Math::cos(angle) * x) - (Math::sin(angle) * y)
=> 1.0


# this is where its werid
>> n_x.to_i
=> 0
[/irb]

any further 1.0.to_i works
-- 
Posted via http://www.ruby-forum.com/.