js 格式化數(shù)字,格式化金額:

一、進(jìn)行四舍五入法

number_format(number, decimals, dec_point, thousands_sep)? => {

? ? /*? * 參數(shù)說明:

? ? * number:要格式化的數(shù)字

? ? * decimals:保留幾位小數(shù)

? ? * dec_point:小數(shù)點(diǎn)符號(hào)

? ? * thousands_sep:千分位符號(hào)

? ? * */

? ? number = (number + '').replace(/[^0-9+-Ee.]/g, '');

? ? let n = !isFinite(+number) ? 0 : +number,

? ? ? ? prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),

? ? ? ? sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,

? ? ? ? dec = (typeof dec_point === 'undefined') ? '.' : dec_point,

? ? ? ? s = '',

? ? ? ? toFixedFix = function (n, prec) {

? ? ? ? ? ? let k = Math.pow(10, prec);

? ? ? ? ? ? return '' + Math.ceil(n * k) / k;

? ? ? ? };

? ? s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');

? ? let re = /(-?\d+)(\d{3})/;

? ? while (re.test(s[0])) {

? ? ? ? s[0] = s[0].replace(re, "$1" + sep + "$2");

? ? }

? ? if ((s[1] || '').length < prec) {

? ? ? ? s[1] = s[1] || '';

? ? ? ? s[1] += new Array(prec - s[1].length + 1).join('0');

? ? }

? ? return s.join(dec);

}

let num=number_format(163156651.058, 2, ".", ",");

console.info(num)//163156651.06

二、直接舍棄

number_format(number, decimals, dec_point, thousands_sep) => {

? ? ? ? /** 參數(shù)說明:

? ? ? ? * number:要格式化的數(shù)字

? ? ? ? * decimals:保留幾位小數(shù)

? ? ? ? * dec_point:小數(shù)點(diǎn)符號(hào)

? ? ? ? * thousands_sep:千分位符號(hào)

? ? ? ? * */

? ? ? ? number = (number + '').replace(/[^0-9+-Ee.]/g, '');

? ? ? ? let n = !isFinite(+number) ? 0 : +number,

? ? ? ? ? ? prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),

? ? ? ? ? ? sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,

? ? ? ? ? ? dec = (typeof dec_point === 'undefined') ? '.' : dec_point,

? ? ? ? ? ? s = '',

? ? ? ? ? ? toFixedFix = function (n, prec) {

? ? ? ? ? ? ? ? let k = Math.pow(10, prec);

? ? ? ? ? ? ? ? return '' + Math.floor(n * k) / k;

? ? ? ? ? ? };

? ? ? ? s = (prec ? toFixedFix(n, prec) : '' + Math.floor(n)).split('.');

? ? ? ? let re = /(-?\d+)(\d{3})/;

? ? ? ? while (re.test(s[0])) {

? ? ? ? ? ? s[0] = s[0].replace(re, "$1" + sep + "$2");

? ? ? ? }

? ? ? ? if ((s[1] || '').length < prec) {

? ? ? ? ? ? s[1] = s[1] || '';

? ? ? ? ? ? s[1] += new Array(prec - s[1].length + 1).join('0');

? ? ? ? }

? ? ? ? return s.join(dec);

? ? }

let num = number_format(23452345234.089, 2, ".", ",");

console.info(num);//23452345234.08


?

想要整理更多的碎片知識(shí),掃碼關(guān)注下面的公眾號(hào),讓我們?cè)谀睦锝又鴩Z!

?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容