[英]Why my javascript program is not converting it to integer rather than string?
我创建了一个简单的程序,需要在其中添加1和3并显示4,但显示13是我的程序:
<html>
<head>
<style>
</style>
<script type="text/javascript">
function calculate(){
a = document.getElementById('num1').value;
b = document.getElementById('num2').value;
document.getElementById('result').innerHTML = a + b;
}
</script>
</head>
<body>
<input id='num1' value="1"/>
<input id='num2' value='3'/>
<p id='result'></p>
<button onclick="calculate()">Calculate</button>
</body>
</html>
现在我该怎么做?
您必须转换为整数。 查看此代码。
function calculate(){
a = parseInt(document.getElementById('num1').value, 10);
b = parseInt(document.getElementById('num2').value, 10);
document.getElementById('result').innerHTML = a + b;
}
这是因为value
属性返回String
。 您需要将其转换为Number
。
但是,通过使用+
一元运算符,有一个快捷方式。 您也可以将字符串包装在Number
例如Number(a) + Number(b)
。
a = +document.getElementById('num1').value;
b = +document.getElementById('num2').value;
尝试这样做:
document.getElementById('result').innerHTML = parseInt(a) + parseInt(b);
原因是因为您a和b是字符串,您需要先转换然后转换为数字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.