如果输入的内容有一个不是数字时输出为NaN如何解决

来源:4-5 重复重复(for循环)

qq_EMC_3

2016-01-08 20:51

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>计算器</title>

<style type="text/css">

#bg{

width: 500px;

height: 500px;

margin: auto;

color: green;

}

</style>

<script type="text/javascript">

function deng(){

//获取第一个数值并转换为数字类型

var a=parseInt(document.getElementById("number1").value);

//获取下拉列表中的运算符号

var b=document.getElementById("math").value;

//获取第二个数值并转换为数字类型

var c=parseInt(document.getElementById("number2").value);

var d;

if(!(isNaN(a)&&isNaN(c))){

//判断输入的的值是不是数字,当两个输入值都为数字时生效

if(b=="+"){

d=a+c;

}else if(b=="-"){

d=a-c;

}else if(b=="*") {

d=a*c;

}else if((b=="/")&&(c!=0)){

d=a/c;

}else if((b=="/")&&(c==0)) {

alert("除数不能为0");

}alert(d);

}else{

//当输入的数值不是数字时需要重新输入

alert("请输入数字");

}

}

</script>

</head>

<body>

<div id="bg">

<span>请输入数字1

<input id="number1" type="text" size="10" name="number1" value="" />

<br/></span>

<!-- 通过下拉选项实现运算符的选择 -->

<span>请选择运算符号

<select id="math">

<option value="+">+</option>

<option value="-">-</option>

<option value="*">*</option>

<option value="/">/</option>

</select>

<br/></span>

<span>请输入数字2

<input id="number2" type="text" size="10" name="number2" value="" />

<br/></span>

<!-- 通过点击结果按钮调用function函数 -->

<input id="deng" type="button" name="deng" value="结果" onclick="deng()"/>

</div>

</body>

</html>


写回答 关注

2回答

  • qq_简简单单_6
    2016-01-09 00:13:19

    做校验哦

    qq_EMC...

    if的条件(!(isNaN(a)&&isNaN(c)))需要改为: (!isNaN(a)&&!isNaN(c))

    2016-01-10 13:43:38

    共 1 条回复 >

  • 慕客火星人
    2016-01-08 22:04:03

    如果输入的内容有一个不是数字时输出为NaN如何解决


    qq_EMC...

    if的条件(!(isNaN(a)&&isNaN(c)))需要改为: (!isNaN(a)&&!isNaN(c))

    2016-01-10 13:43:14

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468194 学习 · 21891 问题

查看课程

相似问题