2017-11-26 2 views
0

私は2フィールド/ HTMLの値を、7,544(金額を表す)の形式にしています。parseInt()は9999までと思われます。

私はこのラインを使用して可能でカンマを削除しています:

itemBudget = itemBudget.replace(/,/g, ''); 

私はこれらの2つの量を比較し、合計金額が予算よりも高い場合、ユーザーに警告しています。私は、このチェックを使用しています:

if (parseInt(finalAmount) > parseInt(itemBudget)) { 
    alert('Your total is higher than the budget'); 
} 

10,000までからされている場合はfinalAmountが9999までの場合のみ - ブタ完璧に動作します - テストは、最終的な量は10000であっても、合格しないと予算は5000です。

ここで間違っていますか? おかげ

+3

チェック何両方の値があり、何のparseIntは値の両方のために、個別に返します。 –

+0

必ず、 'parseInt()'に_radix_(第2引数)を使用してください。ほとんどの場合、基数10を表す '10 'になります。 – Intervalia

答えて

2

はあなたにもfinalAmountカンマを置き換えることを確認してください。

の作業例:

var finalAmount = "10,001"; 
 
var itemBudget = "5,000"; 
 
itemBudget = itemBudget.replace(/,/g, ''); 
 
finalAmount = finalAmount.replace(/,/g, ''); 
 
if (parseInt(finalAmount) > parseInt(itemBudget)) { 
 
    alert('Your total is higher than the budget'); 
 
}

-3
<!DOCTYPE html> 
<html> 
<body> 

<p>Click the button to parse different strings.</p> 

<button onclick="myFunction()">Try it</button> 

<p id="demo1"></p> 
<p id="demo2"></p> 

<script> 
function myFunction() { 
    var itemBudget = "74,778"; 
    itemBudget = itemBudget.replace(/,/g, ''); 

    var finalAmount = "9,778"; 
    finalAmount = finalAmount.replace(/,/g, ''); 

    var n = itemBudget+"<br>"; 
    var o = finalAmount; 

    document.getElementById("demo1").innerHTML = n; 
    document.getElementById("demo2").innerHTML = o; 

    if (parseInt(finalAmount) > parseInt(itemBudget)) 
    { 
     alert('Your total is higher than the budget'); 
    } 
    else 
    { 
     alert('Your total is NOT higher than the budget'); 
    } 
} 
</script> 

</body> 
</html> 
+4

これは何をするのですか?あなたは何を変えましたか?ポスターが尋ねなかったことをなぜ追加しましたか?コードのダンプは誰にも役立たない - 説明は非常に感謝しています。 – jhpratt

+2

申し訳ありませんが、あなたの批評家が建設的ではありません。彼の問題を解決するコードを投稿しました。 – Talgat

+1

私は明言しています*どのように建設的です。 "コードダンプは誰にも役立たない - 説明は非常に高く評価されている" – jhpratt

関連する問題