使用Jquery格式化货币(删除小数点后的尾随零)?

时间:2019-03-15 02:40:19

标签: jquery

我有以下jQuery脚本,可将30.00中的数字格式化为货币。

div

我的问题是,如何删除小数点后的尾随零?这样我的货币看起来就像:

So 2000 becomes £2,000.00

这是我的代码:

£2,000

请有人可以告诉我我要去哪里了吗

4 个答案:

答案 0 :(得分:0)

如果您确定输出的格式为.xx,则可以简单地使用.substring().substring(0,a.length-3)。另外,您也可以使用.replace().replace(/\.\d*/,'')Test regex

var a= "£2,000.00";
console.log(a, a.substring(0,a.length-3), a.replace(/\.\d*/,''));

答案 1 :(得分:0)

我设法通过稍微更改代码并使用以下行来解决此问题:

  $('#rate_out4').val('£' + parseFloat(this.value, 10).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1,").toString().slice(0,-3));

答案 2 :(得分:0)

我只是好奇,如果您的计算或显示值不是小数,您真的需要parseFloat方法。然后,您只需使用parseInt,而不必担心字符串格式。

         <script>
/*Works only with Chrome 
 Inspired by Erik Deiner's concept :
 http://dribbble.com/shots/435827-Concept-for-budget-price-slider
 */
$('#rate4').on("input", function() {
  $('#rate_out4').val('£' + parseInt(this.value, 10).replace(/(\d)(?= 
  (\d{3})+\.)/g, "$1,").toString());
}).trigger("change");
</script> 

答案 3 :(得分:0)

您可以像这样使用Intl.NumberFormat对象:

var number = 2000;

console.log(new Intl.NumberFormat('en-UK', {
  style: 'currency',
  currency: 'GBP',
  maximumSignificantDigits: 21
}).format(number));