2

重複の可能性:
JavaScriptの浮動小数点演算は壊れていますか?

Javascriptで、toの代わりに23668-23671.88toの結果を計算するにはどうすればよいですか?-3.88-3.8800000000010186

Windowsの計算を使用すると、結果は-3.88になるため、丸めは必要ありません。

出来ますか?

4

2 に答える 2

3

丸めたくない場合は、式の変数の精度を決定し、その精度を式の結果に適用する何らかの方法が必要です。残念ながら、JavaScript には float の精度を判断する方法がありません。

ただし、これを達成できる簡単な「ハッキー」な方法があります。

http://jsfiddle.net/SjxCY/2/

var num = 2.383;
var precision = (num+'').split('.')[1].length;
var final = (234234-num).toFixed(precision);
alert(final);

きれいではありませんが、機能します。

于 2013-01-29T09:08:02.073 に答える
2

丸めのクラッジが必要ない場合は、浮動小数点数を使用できず、10進数の算術ライブラリを見つける必要があります。何も組み込まれていません、私は恐れています。

于 2013-01-29T09:02:53.280 に答える