[英]Javascript Number formatting min/max decimals
我正在嘗試創建一個函數,可以格式化一個數字,最小小數位數為2,最大值為4.所以基本上如果我傳入354545.33,我會回到354,545.33,如果我傳入54433.6559943,我會回來54,433.6559。
function numberFormat(num){
num = num+"";
if (num.length > 0){
num = num.toString().replace(/\$|\,/g,'');
num = Math.floor(num * 10000) / 10000;
num += '';
x = num.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}
else{
return num;
}
}
value.toLocaleString('en-US', {
minimumFractionDigits: 2,
maximumFractionDigits: 4
});
不要忘記包含polyfill 。
要格式化零件,在小數點后,您可以使用:
value.toFixed(4).replace(/0{0,2}$/, "");
對於小數點之前的部分: 如何以最佳(最聰明)的方式編寫此JS函數?
你這樣做是錯的。
54433.6559943.toFixed(4)
將舍入到4個位置。 然后你必須修剪兩個尾隨零。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.