javascript格式化数字成K,M等格式

数字格式化成K,M等格式

 function nFormatter(num, digits) {
                const si = [
                    { value: 1, symbol: "" },
                    { value: 1E3, symbol: "K" },
                    { value: 1E6, symbol: "M" },
                    { value: 1E9, symbol: "G" },
                    { value: 1E12, symbol: "T" },
                    { value: 1E15, symbol: "P" },
                    { value: 1E18, symbol: "E" }
                ];
                const rx = /\.0+$|(\.[0-9]*[1-9])0+$/;
                let i;
                for (i = si.length - 1; i > 0; i--) {
                    if (num >= si[i].value) {
                        break;
                    }
                }
                return (num / si[i].value).toFixed(digits).replace(rx, "$1") + si[i].symbol;
            }

原本格式

    
22200
3388990000000

经过js:

 $('.stat-display__value').each(function () {
                num = nFormatter($(this).text(), 2);
                $(this).html(num);
            });

呈现格式:

22.K
3.39T

另外,将数字以,每三位隔开:

function toThousandslsFilter(num) {
   return (+num || 0).toString().replace(/^-?\d+/g, m => m.replace(/(?=(?!\b)(\d{3})+$)/g, ','));
   }

你可能感兴趣的:(Javascript)