我有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。然后,当然,能够将解决方案推广到其他更复杂的添加项。
非常感谢所有的帮助。
答案 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)
答案 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;
}