我是靠谱客的博主 善良铃铛,这篇文章主要介绍前端对金额千分位的处理,现在分享给大家,希望可以做个参考。

1、将金额转化为千分位

format(num, len) {
if (len != undefined) {
return `${(num * 1).toFixed(len)}`.replace(/d{1,3}(?=(d{3})+(.d*)?$)/g, '$&,');
} else {
return `${(num * 1).toFixed(2)}`.replace(/d{1,3}(?=(d{3})+(.d*)?$)/g, '$&,');
}
},

2、个位以上添加千分符 小数点后保留原有有效数字 

formatNoFixed(num) {
const numToString = `${num}`;
let strFront = '';
let strEnd = '';
let meetPoint = false;
for (let i = 0; i < numToString.length; i++) {
if (numToString[i] == '.') {
meetPoint = true;
}
meetPoint ? (strEnd += numToString[i]) : (strFront += numToString[i]);
}
let result = '';
strEnd
? (result = `${strFront.replace(/d{1,3}(?=(d{3})+(.d*)?$)/g, '$&,')}.${strEnd.replace('.', '')}`)
: (result = strFront.replace(/d{1,3}(?=(d{3})+(.d*)?$)/g, '$&,'));
return result;
},

3、千分位保留五位有效数字

formatFive(num) {
let numberFir = '';
let numberTow = '';
let number = '';
if (`${num}`.indexOf('.') != -1 && `${num}`.split('.')[1].length >= 2) {
numberFir = `${num}`.split('.')[0].replace(/d{1,3}(?=(d{3})+(.d*)?$)/g, '$&,');
numberTow = `${num}`.split('.')[1];
number = `${numberFir}.${numberTow}`;
} else if (`${num}`.indexOf('.') != -1 && `${num}`.split('.')[1].length < 2) {
numberFir = `${num}`.split('.')[0].replace(/d{1,3}(?=(d{3})+(.d*)?$)/g, '$&,');
numberTow = `${`${num}`.split('.')[1]}0`;
number = `${numberFir}.${numberTow}`;
} else {
numberFir = `${num}`.replace(/d{1,3}(?=(d{3})+(.d*)?$)/g, '$&,');
number = `${numberFir}.` + `00`;
}
return number;
}

4、去掉千分位

 commafyback(num) {
const newNum = num || '0';
if (typeof newNum === 'string') {
return parseFloat(newNum.split(',').join(''));
} else {
const str = newNum.toString();
return parseFloat(str.split(',').join(''));
}
}

 

最后

以上就是善良铃铛最近收集整理的关于前端对金额千分位的处理的全部内容,更多相关前端对金额千分位内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部