我有以下jQuery脚本,可将30.00
中的数字格式化为货币。
div
我的问题是,如何删除小数点后的尾随零?这样我的货币看起来就像:
So 2000 becomes £2,000.00
这是我的代码:
£2,000
请有人可以告诉我我要去哪里了吗
答案 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));