映画のエンドロール観る派?観ない派?

続けざまにすみません。CS3でFlash Lite1.1の計算式を作っていますが
計算式で絶対整数の答がでるはずなのに.00001くらいの誤差が出てしまうのはなぜでしょうか?
AS2では、全く出ませんがFlash Lite1.1では出るので四捨五入などで
なんとか整数にしています。
なんとかならないのでしょうか?
単純に1000000に0.23をかけただけでも、230000にならなかったりします。

A 回答 (1件)

Flash Liteなどに限らず、全て(?)の言語で、小数の計算には誤差が生じます。


これは、パソコンが10進法ではなく2進法で扱っているためです。

必ず整数だという確信のある計算は、おっしゃるとおり、四捨五入かなんかしたほうが無難だと思います。


他の対策は、参考URLを見てください。

参考URL:http://scriptstesting.org/syosu/index.htm
    • good
    • 0
この回答へのお礼

早速、ありがとうございます。
ああ、どこにでも誤差が出てくるんですね。
とりあえず、切り上げ、切り下げ、四捨五入で対応してみます。

お礼日時:2009/12/06 20:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報