JavaScript面接問題:なぜ0.1+0.2!0.3
459 ワード
霊魂二問:どうして0.1+0.2!=0.3 どうやってこの問題を解決しますか?
1、なぜ0.1+0.2!=0.3これはJavaScriptの格納値がダブル精度の浮動小数点を採用しているためですが、JSが採用している浮動小数点の標準は私達の数字を裁断します.これによって精度が失われる問題があります.このとき:
1、なぜ0.1+0.2!=0.3これはJavaScriptの格納値がダブル精度の浮動小数点を採用しているためですが、JSが採用している浮動小数点の標準は私達の数字を裁断します.これによって精度が失われる問題があります.このとき:
0.100000000000000000000002 === 0.1 // true
conole.log(0.100000000000000002) // 0.1 0.100000000000000002,
, ,
2、どうやってこの問題を解決しますか?parseFloat((0.1 + 0.2).toFixed(10)) === 0.3 // true