2016-05-22 6 views
0

とは異なる値を与える、Math.acosは私にRubyで私の電卓

Math.acos(10/70) * 57.2958 

は(私の計算による)が約80度を返す必要があります。 しかし、約90度戻っています。何故ですか?

+1

「10/70」ではなく「10.quo(70)」を使用してください。 – Stefan

答えて

2

あなたは小数点以下を追加する必要がある、またはRubyは整数除算を仮定します:

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 

あなただけ10/70を使用している場合、これは0に丸めます、そしてあなたが望むものであるMath.acos(0)代わりのMath.acos(0.14..)を取得します。

+0

ありがとうございます、それは物事をクリアします。 –