一、進(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!
?