我想用逗号和点分隔数字,但是我不能。
我曾经尝试过toLocaleString以我想要的但无法通过格式化的顺序获得数字。
这是我的代码。
var totalsum = 0;
jQuery('td.column-total').each(function() {
//var value = jQuery(this).text();
//if(!isNaN(jQuery(this)) && jQuery(this).length!=0) {
totalsum += parseFloat(jQuery(this).text().replace('₦', '').replace(',', '').replace('.', ''));
//}
//totalsum += parseFloat(string);
/* if (!isNaN(value)) {
totalsum += value;
}*/
});
//Total = (parseFloat(subtotal)+parseFloat(tax)).toFixed(1);
console.log(totalsum);
jQuery("#totalexprenses").html(totalsum.toLocaleString("en-NGN") );
我希望使用这种格式的数字number25,300.00,但我正在接收采用这种格式的数字13,580,000
答案 0 :(得分:0)
您可以仅将语言环境用于en
。如果您的数字是字符串,则需要先将其转换为浮点数。而且,如果您的数字是带有翻转的分隔符的字符串,则必须在以前更正该格式。
示例:
// Nummber as Float
let num_1_float = 1234567.89;
let num_1_formated = num_1_float.toLocaleString('en');
console.log(num_1_formated);
// Number as String
let num_2_string = '1234567.89';
let num_2_formated = parseFloat(num_2_string).toLocaleString('en');
console.log(num_2_formated);
// Number as String with flipped seperators
let num_3_string = '1.234.567,89';
let num_3_formated = parseFloat(num_3_string.replace(/\./g, '').replace(',', '.')).toLocaleString('en');
console.log(num_3_formated);
在jQuery each
循环中使用:
let totalsum = 0;
jQuery('td.column-total').each(function() {
let text = jQuery(this).text(); // get text from cell
let num = parseFloat(text.replace(/\./g, '').replace(',', '.')); // convert localized-string to parseable string for parseFloat.
totalsum += num; // add to sum
});
console.log(totalsum);
jQuery("#totalexprenses").html(totalsum.toLocaleString("en"));
#totalexprenses {
border-top: 2px solid #000;
color: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tr><td class="column-total">12.000,11</td></tr>
<tr><td class="column-total">23.350,00</td></tr>
<tr><td class="column-total">12.250,50</td></tr>
<tr><td class="column-total">5500,02</td></tr>
<tr><td class="column-total">8.255,75</td></tr>
</table>
<div id="totalexprenses">0</div>