重複の可能性:
JavaScriptの浮動小数点演算は壊れていますか?
Javascriptで、toの代わりに23668-23671.88
toの結果を計算するにはどうすればよいですか?-3.88
-3.8800000000010186
Windowsの計算を使用すると、結果は-3.88になるため、丸めは必要ありません。
出来ますか?
重複の可能性:
JavaScriptの浮動小数点演算は壊れていますか?
Javascriptで、toの代わりに23668-23671.88
toの結果を計算するにはどうすればよいですか?-3.88
-3.8800000000010186
Windowsの計算を使用すると、結果は-3.88になるため、丸めは必要ありません。
出来ますか?
丸めたくない場合は、式の変数の精度を決定し、その精度を式の結果に適用する何らかの方法が必要です。残念ながら、JavaScript には float の精度を判断する方法がありません。
ただし、これを達成できる簡単な「ハッキー」な方法があります。
var num = 2.383;
var precision = (num+'').split('.')[1].length;
var final = (234234-num).toFixed(precision);
alert(final);
きれいではありませんが、機能します。
丸めのクラッジが必要ない場合は、浮動小数点数を使用できず、10進数の算術ライブラリを見つける必要があります。何も組み込まれていません、私は恐れています。