JavaScript:为什么会产生和丑陋的字符串???我想要货币
-
06-07-2019 - |
题
var total = 0;
$(".amount").each(function() {
var value = $(this).val();
value = (value.length < 1) ? 0 : value;
var tmp = parseFloat(value).toFixed(2);
total += tmp;
});
$(".total").text(total);
我正在尝试循环浏览一些文本框并总结它们的价值。这会产生一个讨厌的弦。我想念什么?如果我将8放在第一个文本框中,总文本最终以“ 08.000.000.000.00”。我究竟做错了什么?我想格式化为货币,但如果不是货币,则至少只有两个小数。有指针吗?
谢谢,〜CK在圣地亚哥
解决方案
.toFixed将对象从数字转换为字符串。
将完整的值留在适当的位置,仅在最后使用.tofix转换
$(".total").text(total.toFixed(2));
或者,将字符串转换回一个数字。
total = total + + tmp;
其他提示
仅供参考,jQuery有一个出色的数学聚合插件: jQuery计算
使用该插件也可能间接解决您的问题。
用法将使您的脚本减少到:
$('.total').text($('.amount').sum());
您正在将parsefloat转换为字符串,然后将其添加到Total中。一旦添加了东西,仅将.tofix(2)添加到最后一行。
var total = 0;
$(".amount").each(function() {
var value = $(this).val();
value = (value.length < 1) ? 0 : value;
var tmp = parseFloat(value);
total += tmp;
});
$(".total").text(total).toFixed(2);
不隶属于 StackOverflow