From: Kenta Murata Date: 2011-05-09T13:38:44+09:00 Subject: [ruby-list:48069] Re: 小数点つき時刻情報とTime#parse 【解決だと思う】 むらたです。 # 間違いの訂正だけ。 On 2011年5月9日月曜日 at 11:40, Shota Fukumori (sora_h) wrote: > sora_h > > 2011/5/9 Mitsuo KASAHARA : > > 笠原です。 > > > > 早速の助言ありがとうございます。 > > > > 切り捨てて良いのか(*)分からなかったのですが・・・ご助言いただいた > > BigDecimal > > を使って以下のような感じで書いたら、ほしい結果が得られました。 > > 切り捨て? BigDecimalは切り捨てじゃなくて、浮動小数点数とは違う演算方法で少数を表現しています。 > > > (*)参考に教えて頂いたURLを熟読すれば分かるのかもしれないのですが、 > > 私にはチンプンカンプンでした。ごめんなさい。 > > とりあえずFloat (浮動小数点数)には誤差がつきものだ、と覚えておけば大丈夫だとおもいます ;) BigDecimal も Float と同類の浮動小数点数です。 ですから、Float と同様に、丸めによる誤差は発生します。 その点に注意して計算手順を設計してください。 BigDecimal が Float と異なるのは内部表現です。BigDecimal は必ず10進法で値を保持します。 ですから、10進法で表現する限り、基数変換による打ち切り誤差が発生することはありません。 -- Kenta Murata Sent with Sparrow