JavaScriptを初めて使用しています。私の課題の1つとして、クラスにJavaScriptコードを書く必要があります。これは、ユーザーが入力した収入に対して税額を決定して表示します。これまでのところ私のコードは次のようになります。計算がうまく動作JavaScriptで1未満で数字以外の数字をチェックするにはどうすればいいですか?
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Tax Assignment</title>
</head>
<body>
<script>
//declare variables and collect amount enter.
// Assign amount entered to var amountEntered.
var amountEntered = window.prompt("Enter an income amount in dollars");
var x = parseInt(amountEntered);
var untaxableIncome = 12000;
var taxBracketOne = 36000;
var taxBracketTwo = 90000;
var bracketOneTax = 0.15;
var bracketTwoTax = 0.25;
var total;
//determine if the number is less than one
if (x < 1)
{
alert("Enter a whole number greater than 0");
}
//
else if (x == NaN)
{
alert("Enter a whole number greater than 0");
}
else if (x <= untaxableIncome)
{
alert("You will not be charged taxes on your income");
}
else if (x >untaxableIncome && x <= taxBracketOne)
{
total = amountEntered * bracketOneTax;
document.write("You will need to pay " + total + " on your " + amountEntered + " income.")
}
else if (x > taxBracketOne && x <= taxBracketTwo)
{
total = amountEntered * bracketTwoTax;
document.write("You will need to pay " + total + " on your " + amountEntered + " income.")
}
else (x > taxBracketTwo)
{
document.write("I do not have the data to calculate the tax on this income.")
}
</script>
</body>
</html>
、私がいる唯一の問題は、私は0.5または文字を入力したときに、私はアラートが( "整数を入力し得ないということです0より大きい)。私は間違って何をしていますか?
を配置する必要があり
このラインではそうhttps://www.w3schools.com/jsref/jsref_isnan.asp
ISNAN機能を使用することができ、どのように私は、プロンプトボックスを作るのですが、ユーザ場合は、再度表示されます1未満の文字または値を入力しましたか? – nponinski
あなたはParseIntを使用しています。文字または小数値を認識しません。 1より小さい文字または値(.5のように)は0になります。これは0より小さくありません。 –
私は一貫性のために 'parseInt(x)'の代わりに 'Math.floor(Number(x))'を小数点以下を切り捨てる方が好きです。また、JavaScriptでは '=='や '=== 'から' NaN'への値はありません。 'NaN'自体も含まれています。この目的のために、組み込み関数isNaN()があります。 – mhodges