中田です。
早速、ご教授ありがとうございます。

運用上は

(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
====================