计算多种货币格式元素的总和
Calculate the sum of multiple currency formatted elements
我正在尝试根据一系列货币格式的数字创建小计,但我正在努力将数字转换回整数以便将它们相加。这是我尝试过的:
$(function() {
var totals = $('.price');
var sum = 0;
for (var i = 0; i < totals.length; i++) {
//strip out dollar signs and commas
$(totals[i].text()).replace(/[^\d.]/g, '');
//convert string to integer
var ct = parseFloat($(totals[i].text()));
sum += ct;
}
console.log(sum);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="price">5,000.20</div>
<div class="price">,404.00</div>
<div class="price">,000.00</div>
<div class="price">0.00</div>
replace()
不修改传入的字符串(无论如何它不能在这里,因为它是函数的结果)。它只是returns修改后的值。
保存replace()
的结果,并据此求和:
$(function() {
var totals = $('.price');
var sum = 0;
for (var i = 0; i < totals.length; i++) {
//strip out dollar signs and commas
var v = $(totals[i]).text().replace(/[^\d.]/g, '');
//convert string to integer
var ct = parseFloat(v);
sum += ct;
}
console.log(sum);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="price">5,000.20</div>
<div class="price">,404.00</div>
<div class="price">,000.00</div>
<div class="price">0.00</div>
另请注意打字错误——您想要 $(totals[i]).text()
,而不是 $(totals[i].text())
我正在尝试根据一系列货币格式的数字创建小计,但我正在努力将数字转换回整数以便将它们相加。这是我尝试过的:
$(function() {
var totals = $('.price');
var sum = 0;
for (var i = 0; i < totals.length; i++) {
//strip out dollar signs and commas
$(totals[i].text()).replace(/[^\d.]/g, '');
//convert string to integer
var ct = parseFloat($(totals[i].text()));
sum += ct;
}
console.log(sum);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="price">5,000.20</div>
<div class="price">,404.00</div>
<div class="price">,000.00</div>
<div class="price">0.00</div>
replace()
不修改传入的字符串(无论如何它不能在这里,因为它是函数的结果)。它只是returns修改后的值。
保存replace()
的结果,并据此求和:
$(function() {
var totals = $('.price');
var sum = 0;
for (var i = 0; i < totals.length; i++) {
//strip out dollar signs and commas
var v = $(totals[i]).text().replace(/[^\d.]/g, '');
//convert string to integer
var ct = parseFloat(v);
sum += ct;
}
console.log(sum);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="price">5,000.20</div>
<div class="price">,404.00</div>
<div class="price">,000.00</div>
<div class="price">0.00</div>
另请注意打字错误——您想要 $(totals[i]).text()
,而不是 $(totals[i].text())