中田です。 早速、ご教授ありがとうございます。 運用上は (1300 * (0.7 * 100) / 100) #=> 910.0 (1300 * (0.7 * 100) / 100).floor #=> 910 (1300 * (0.7 * 100) / 100).truncate #=> 910 とすれで良いのでしょうか? 運用上のプログラミングや注意点等を ご教授頂けないでしょうか? On 2011/09/29, at 4:12, U.Nakamura wrote: > こんにちは、なかむら(う)です。 > > In message "[ruby-list:48421] 切り捨てについて教えてください" > on Sep.29,2011 03:37:29, <acnakada / tam.ne.jp> wrote: >> この違いはなぜでしょうか? 教えてください > > 目に見えているものが必ず正しいわけでもありません。 > > 一般に、コンピュータの浮動小数点数演算は2進数で行われるため、 > 我々が扱いたがる10進数で同じ値を考えた場合、割り切れるかどう > かが異なるケースがあります。 > そのため、10進数で考えた場合に当然予測される値と、実際にコン > ピュータが計算した結果とが微妙に異なる値となることがあります。 > > 私のコンピュータの場合、1300*0.7の値は具体的には > 909.9999999999998863131622783839702606201171875 > になります。 > よって、小数点以下の切捨てを行うと909になります。 > > > それでは。 > -- > U.Nakamura <usa / garbagecollect.jp> > > ==================== 中田 隆雄 acnakada / tam.ne.jp ====================