2012-02-03 11 views

答えて

3

Math.Round(x:Number)はxを最も近い整数値に丸めます。あなたの場合、28は28.499999999999996の最も近い整数値です。だからここで正しい動作です。奇妙なことは、0.285 * 100が28.5ではないことですが、それはas3のNumberクラスの精度の結果です。ここではこれについて、もう少し情報と可能な解決策は次のとおりです。

Innacurate math results

はまた、あなたがこのSOの質問を参照することができます。このことができます

Very strange number operation issue

ホープ。

4

ラウンドが正しいことをしています。 0.285は、2進浮動小数点値として正確に表現することはできません。ご覧のように、100を掛け合わせると28.4999999に近づきます...これは28.5よりも小さいので、値は切り捨てられます。

関連する問題