我是靠谱客的博主 善良铃铛,最近开发中收集的这篇文章主要介绍前端对金额千分位的处理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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(''));
}
}

 

最后

以上就是善良铃铛为你收集整理的前端对金额千分位的处理的全部内容,希望文章能够帮你解决前端对金额千分位的处理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部