私は次の機能を持っています:
var a = 0.1;
var b = 0.2;
function checkValue(){
if(a + b === 0.3){
alert('statement is true');
}
else {
alert('statement is false');
}
}
checkValue();
この関数はfalseと評価されますか?これがフィドルです
さて、0.3に等しい異なる小数を持つ同じ関数:
var a = 0.15;
var b = 0.15;
function checkValue(){
if(a + b === 0.3){
alert('statement is true');
}
else {
alert('statement is false');
}
}
checkValue();
trueと評価されます。
誰かがこれに遭遇したことがありますか?もしそうなら、これを行わないWebアプリケーションに一般的に使用される言語はありますか?
次のように小数を修正することで、浮動小数点の問題を修正できます。
if((a + b).toFixed(1) == 0.3){
alert('statement is true');
}else{
alert('statement is false');
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加