一起添加变量会返回字符串而不是数字

时间:2011-09-05 22:01:55

标签: jquery

我有三个变量我正在尝试对这些值求和。对于其中两个项目,我需要以不同的方式读取表单值,因此我创建了一个属性cost来提取成本。我的代码是:

var opt1 = parseFloat($('#ac1 option:selected').attr('cost')).toFixed(2);
var opt2 = parseFloat($('#ac2 option:selected').attr('cost')).toFixed(2);
var base = parseFloat($('#original_price').val());
var newprice = opt1+opt2+base;

如果opt1应该是4.00,opt2 6.50和10.00,它会给我一个4.006.5010.00而不是20.50的输出

关于我哪里出错的任何想法?

1 个答案:

答案 0 :(得分:2)

您的toFixed方法是否将数字转换为字符串?肯定是。尝试在整个调用中包装parseFloat。

var newprice = parseFloat(opt1)+parseFloat(opt2)+base;

另外,尝试测试opt1和opt2是否为字符串

console.log(typeof opt1 === 'string');