繁体   English   中英

简单的晚餐小费计算器的Javascript If语句

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM