私はJavaScriptのeval関数を使用しました。しかし、私は結果が好きではありません。この問題を解決するにはどうすればよいですか?
表現:
eval(1.2+24-25)
結果:
0.1999999999999993
0.2の結果が欲しいです。
私はJavaScriptのeval関数を使用しました。しかし、私は結果が好きではありません。この問題を解決するにはどうすればよいですか?
表現:
eval(1.2+24-25)
結果:
0.1999999999999993
0.2の結果が欲しいです。
あなたが抱えている問題は0.2
、「ほとんどの数値」のように、IEEE754で正確な表現がなく、計算で数値を組み合わせるとすぐに問題が発生することです。で同様の問題が発生し0.2+1-1
ます。
適切な表現を得るには、数値に変換する前に固定 10 進表現に減らすことができます。たとえば、
var v = +(1.2+24-25).toFixed(10)
これにより、
0.2
一般的な慣行は、丸めや使用なしで数値を使用してすべての計算をtoFixed
行い、結果をユーザーに提示するときにのみこの種の変換を使用することです (その場合、+
はあまり役に立ちません)。
toFix 関数を使用する
var num =1.2+24-25;
var fixed=num.toFixed(1);
文字列が「0.2」に修正されました