• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:rubyの誤差)

rubyの誤差について

このQ&Aのポイント
  • rubyのプログラムで実行した際、丸め誤差が発生し、正確な値が出力されない場合があります。
  • 具体的な例として、tに0.01を100回加えるプログラムを実行すると、一部の値が正確な値ではなく、丸め誤差が生じていることが確認されます。
  • 丸め誤差を回避するためには、BigDecimalクラスを使用することでより正確な計算が可能です。また、出力結果を操作する際には、適切なフォーマットを適用することが重要です。

質問者が選んだベストアンサー

  • ベストアンサー
  • sholmes
  • ベストアンサー率81% (89/109)
回答No.1

そうですよね。 他にも方法あるのかもしれませんが、自分はBigDecimalやRational使ってます。 個人的には、1.9から組み込みになった事と記法の好みとして、Rationalを愛用してます。 BigDecimal http://ideone.com/ZfUsN Rational http://ideone.com/gxWXO Ratinalを1.8台で使うときは、require 'ratinal'を入れて下さい

hitomin93
質問者

お礼

丁寧なご回答ありがとうございました。

その他の回答 (1)

  • sholmes
  • ベストアンサー率81% (89/109)
回答No.2

<追記1> すみません、1.8の時のrequire呼び出しが1文字抜けてました。 require 'rational' ですね。 <追記2> Rubyに限らずですが、丸め誤差問題ですね。 <追記3> ちなみに、1.8台で次のコード動かすともっと嫌なものが見られると思います。 #! ruby -w total = 0 10.times do total += 0.1 end p total p total == 1 p 1.0 == 1

関連するQ&A