0

In Ruby,

Math.acos(10/70) * 57.2958

should return approximately 80 degrees (according to my calculator). However it is returning approximately 90 degrees. Why is that?

Arc676
  • 4,445
  • 3
  • 28
  • 44
Ahmed Ahmed
  • 105
  • 7

1 Answers1

2

You need to add decimal points, or Ruby will assume integer division:

irb(main):006:0> Math.acos(10/70) / Math::PI * 180
=> 90.0
irb(main):007:0> Math.acos(10.0/70) / Math::PI * 180
=> 81.78678929826181

If you just use 10/70, this will round to 0, and you get Math.acos(0) instead of Math.acos(0.14..) which is what you want.

Arc676
  • 4,445
  • 3
  • 28
  • 44