読者です 読者をやめる 読者になる 読者になる

世界測地系平面直角座標と緯度経度を相互変換

前回のエントリで書いたものですが、誤差が発生する原因がやっとわかりました。
例えば

p 1 / 3

の結果が0になってしまいます。
「/」メソッドに1と3が代入される際、整数クラスとして扱われるために答えも0.3333…から整数部分の「0」だけが表示されてしまう…のではないでしょうか。
試しに

p 1.0 / 3

とすると結果が「0.333333333333333」となります。
計算式の中で3/4などの計算部分があり、このために小数以下に誤差が発生したのでしょう。

取り扱う数値で、カウントのための数字以外に「.0」をつけて出現する数値を浮動小数点クラスにするとそれらしい数値が返ってくるようになりました。
もう少しスクリプトを整理して試しに大量の数値を投げかけてみれば正しいかどうかわかると思います。