例如,我想要加法值两个输入20
& 10
并在警报中完成输出,但输入值2010
如果我应该输出30
,如何修复它?
演示: http://jsfiddle.net/SHjZM/
<input type"text" name="ok1" value="20">
<input type"text" name="ok2" value="10">
$('button').live('click', function(){
var val_1 = $('input[name="ok1"]').val();
var val_2 = $('input[name="ok2"]').val();
var Sum = val_1 + val_2;
alert(Sum) // in the here output is "2010" i want output "30" as: "20+10=30"
})
答案 0 :(得分:1)
你需要在添加之前将变量转换为整数
var Sum = parseInt(val_1, 10) + parseInt(val_2, 10);
更新
如果未提供基数参数或者为其指定值0,则函数会尝试确定基数。如果字符串以1-9开头,则将其解析为基数10.如果字符串以0x或0X开头,则将其解析为十六进制数。如果字符串以0开头,则将其解析为八进制数。 (请注意,仅仅因为数字以零开头,并不意味着它实际上是八进制。)
http://devguru.com/Technologies/ecmascript/quickref/parseint.html
答案 1 :(得分:0)
您需要将字符串转换为(十进制)数字。
var Sum = parseFloat(val_1, 10) + parseFloat(10, val_2);