[英]Javascript If statement for simple dinner tip calculator
我有这个脚本,提示DinnerCost和taxRate生成taxPaid。 我想做一个if语句,以确保只输入整数而不输入字符串。
这是我的代码:
<button id="btn"> Play the Dinner Game </button>
<p id="para"></p>
document.getElementById("btn").addEventListener("click", dinnerThing);
function dinnerThing () {
var cost = prompt("how much did it cost?");
if(cost == "") {
document.getElementById("para").innerHTML = "sorry please enter an integer";
}
var taxRate = prompt("What was the tax rate?");
if(taxRate == "") {
document.getElementById("para").innerHTML = "sorry please enter an integer";
}
var taxPaid = cost * taxRate;
document.getElementById("para").innerHTML = "You paid " + taxPaid + " dollars in tax for your dinner";
}
为什么语句在这里不起作用?
if(cost == "")
和if(taxRate == "")
都在检查变量(cost1 or
taxRate`)是否等于空字符串,而不是是否等于整数 。
为了确保您从提示符处收到一个数字值,可以使用parseInt() 。
parseInt()将从字符串返回等效的Number(整数或浮点数)。 如果字符串不能转换为数字,则返回NaN。
步骤如下:
获取cost和taxRate的parseInt()值,并将它们存储在变量中
使用isNaN()检查先前的变量是否返回的是NaN。
如果isNaN()
返回true
,则显示“对不起,请输入整数”消息
如果isNaN()
返回false
,则计算taxPaid并输出taxPaid值
结果代码如下所示:
var numberCost = parseInt(cost),
numberTaxRate = parseInt(taxRate);
if(isNaN(numberCost) || isNaN(numberTaxRate)) {
document.getElementById("para").innerHTML = "sorry please enter an integer";
}else{
var taxPaid = cost * taxRate;
document.getElementById("para").innerHTML = "You paid " + taxPaid + " dollars in tax for your dinner";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.