如何将2个字符串转换为数字并使用javascript添加它们?

时间:2015-01-26 16:37:50

标签: javascript

我有str1,str2,我想添加它们。例如,str1 =' 5'和str2 =' 2.50000'。我想将它们加在一起得到7.50。我尝试了很多(不成功的)变体,最新的是:

str1 = "5.00000";
str2 = "2.50000";
new_st1 = parseFloat(str1).toFixed(2);
new_str2 = parseFloat(str2).toFixed(2);
str3 = parseFloat(( new_str1 + new_str2 )).toFixed(2);

这产生(荒谬地)5.00。

我想得到7.50。然后,当然,能够将解决方案推广到其他更复杂的添加项。

非常感谢所有的帮助。

4 个答案:

答案 0 :(得分:1)

parseFloat返回一个数字,因此您无需再次解析它。您应该使用数字进行数学运算,然后在最后进行格式化(使用toFixed)。

var str1 = "5.00000";
var str2 = "2.50000";

var val1 = parseFloat(str1);
var val2 = parseFloat(str2);

var result = val1 + val2;
document.getElementById("result").textContent = result.toFixed(2);
<div id="result"></div>

答案 1 :(得分:0)

这应该可以解决问题

var str1 = 5.00000;
var str2 = 2.50000;
var str3 = ( str1 + str2 ).toFixed(2);

它们不是字符串,因此不需要像现在这样将它们转换为浮点数。为了准确,您应该将其四舍五入。如果它们是,只是前两个属性的parseFloat()和第三个已经很好,因为它是

答案 2 :(得分:0)

只需添加字符串即可。他们作为数字工作。

str1 + str2

http://jsfiddle.net/dga1b1uy/

答案 3 :(得分:0)

parseFloat将字符串转换为数字。 所以,你的输入应该是字符串。

根据您的命名转换,您的str1和str2也应引用为字符串..

这是一个例子

document.write(add('2.5000', '5.000'));

function add(str1, str2){
  var new_str1 = parseFloat(str1);
  var new_str2 = parseFloat(str2);
  var str3 = parseFloat(( new_str1 + new_str2 )).toFixed(2);
  return str3;
}