簡體   English   中英

Javascript數字格式化最小/最大小數

[英]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;
    }
}

2016年新解決方案

value.toLocaleString('en-US', {
    minimumFractionDigits: 2,
    maximumFractionDigits: 4
});

不要忘記包含polyfill

舊2011解決方案

要格式化零件,在小數點后,您可以使用:

value.toFixed(4).replace(/0{0,2}$/, "");

對於小數點之前的部分: 如何以最佳(最聰明)的方式編寫此JS函數?

你這樣做是錯的。

54433.6559943.toFixed(4)將舍入到4個位置。 然后你必須修剪兩個尾隨零。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM