我有两个字符串,其中只包含数字:
var num1 = '20',
num2 = '30.5';
我本以为我可以把它们加在一起,但它们却被连接起来:
num1 + num2; // = '2030.5'
我如何才能迫使这些字符串被视为数字?
我有两个字符串,其中只包含数字:
var num1 = '20',
num2 = '30.5';
我本以为我可以把它们加在一起,但它们却被连接起来:
num1 + num2; // = '2030.5'
我如何才能迫使这些字符串被视为数字?
当前回答
我会先用一元加号运算符把它们转换成数字。
+num1 + +num2;
其他回答
var result = Number(num1) + Number(num2);
我建议使用一元加运算符,强制将最终字符串作为数字处理,在圆括号内,使代码更具可读性,如下所示:
(+varname)
所以,在你的例子中是:
var num1 = '20',
num2 = '30.5';
var sum = (+num1) + (+num2);
// Just to test it
console.log( sum ); // 50.5
如果您正在寻找简单的Javascript代码,并希望使用两个输入框并从两个值中添加数字,请尝试此方法。这是代码。
Enter the first number: <input type="text" id="num1" /><br />
Enter the seccond number: <input type="text" id="num2" /><br />
<input type="button" onclick="call()" value="Add"/>
<script type="text/javascript">
function call(){
var q=parseInt(document.getElementById("num1").value);
var w=parseInt(document.getElementById("num2").value);
var result=q+w;
}
</script>
欲了解更多详情,请访问http://informativejavascript.blogspot.nl/2012/12/javascript-basics.html
@cr05s19xx对重复问题的建议:
当涉及到数字和加法时,JavaScript有点有趣。
给出以下内容
'20' - '30' = 10;//返回数字10 '20' + '30' = '2030';//以字符串形式返回 从document返回的值。getElementById是字符串,所以最好在进行加法或减法之前将它们全部(即使是有效的)解析为数字。你的代码可以是:
function myFunction() {
var per = parseInt(document.getElementById('input1').value);
var num = parseInt(document.getElementById('input2').value);
var sum = (num / 100) * per;
var output = num - sum;
console.log(output);
document.getElementById('demo').innerHTML = output;
}
function myFunction2() {
var per = parseInt(document.getElementById('input3').value);
var num = parseInt(document.getElementById('input4').value);
var sum = (num / 100) * per;
var output = sum + num;
console.log(output);
document.getElementById('demo1').innerHTML = output;
}
function sum(){
var x,y,z;
x = Number(document.getElementById("input1").value);
y = Number(document.getElementById("input2").value);
z = x + y;
document.getElementById("result").innerHTML = z ;
}