我有輔助函數格式化我的錢值成英鎊和便士:格式物有所值成英鎊和便士
formatMoney: function(10496.470000000001){
return value.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "1,");
},
給我:
11,496.471,001,001,001
有沒有一種方法,我可以格式化這個準確地變成磅和便士? 。所以它讀取,£11,496.471p
我有輔助函數格式化我的錢值成英鎊和便士:格式物有所值成英鎊和便士
formatMoney: function(10496.470000000001){
return value.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "1,");
},
給我:
11,496.471,001,001,001
有沒有一種方法,我可以格式化這個準確地變成磅和便士? 。所以它讀取,£11,496.471p
除了前面提到的toFixed方法調用之外,要替換的第二個參數應該是「$ 1」而不是「1」。此外,您轉換爲某個數字有點脆弱。這是我嘗試在糾正這些問題:
function convert(value){
return "£"+((Number(value)||0).toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,"))+"p";
}
console.log(convert(10496.470000000001));
規則表達式不關心你在你需要將輸入轉化通過小數已經有2位小數:
return value.toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g, "1,");
^^^^^^^^^^
function convert(value){
return value.toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g, "1,");
}
console.log(convert(10496.470000000001));
因此,whats的 「001001001」?有什麼價值? – putvande
請參閱http://stackoverflow.com/questions/149055/how-can-i-format-numbers-as-money-in-javascript – Fred
您需要添加'.toFixed(2)' – putvande