如何在javascript/jquery中添加字符串美元金额?

Mat*_*iby 4 javascript jquery

我的字段有这样的文字

$4.00
$5.00
$55.90
Run Code Online (Sandbox Code Playgroud)

我想在javascript中添加它们,总共64.90美元

我有这个代码

 var total= "";
 $("input:checkbox:not(.select_all):checked").closest("tr").each(function() {
    total += $(this).find(".amount").text().trim();
   });
Run Code Online (Sandbox Code Playgroud)

我的解决方案给了我这个

 $4.00$5.00$55.90
Run Code Online (Sandbox Code Playgroud)

知道我做错了什么

Pau*_*aul 7

你要连接字符串,你需要先将它们解析为数字.你必须剥离$这样做.您还想初始化总计0,而不是空字符串:

var total = 0;
$("input:checkbox:not(.select_all):checked").closest("tr").each(function() {
    total += parseFloat($(this).find(".amount").text().trim().replace(/^$/, ''));
});

// If you want total to be a string containing the `$` just convert it back:
total = '$' + total;
Run Code Online (Sandbox Code Playgroud)

  • @Derek:是的,你也可以做`*1`,但这只是混淆了事情.这是一个很好的评论,但可能会混淆马特,他似乎不明白货币价值被认为是字符串而不是JS中的数字 (3认同)
  • @Derek:我想你错过了这一点.但我想你是这么说的,因为他正在剥离`$`而你说如果你这样做就没有必要做'parseFloat`. (2认同)