无法使用逗号和点号格式化数字

时间:2019-06-08 12:40:13

标签: jquery

我想用逗号和点分隔数字,但是我不能。

我曾经尝试过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

1 个答案:

答案 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>