概述
当系统中涉及到很多金额并且数额较大时需要对数字进行千分位格式化,提升数字的可阅读性
具体方式,可以封装一个方法
export function formatCurrency(num) {
if (num || num == 0) {
// 将num中的$,去掉,将num变成一个纯粹的数据格式字符串
num = num.toString().replace(/$|,/g, '')
// 如果num不是数字,则将num置0,并返回
if (num === '' || isNaN(num)) {
return 'Not a Number ! '
}
// 如果num是负数,则获取她的符号
var sign = ''
if (num.indexOf('-') !== -1) {
sign = '-'
num = num.substr(1)
}
// 如果存在小数点,则获取数字的小数部分
var cents = num.indexOf('.') > 0 ? num.substr(num.indexOf('.')) : ''
cents = cents.length > 1 ? cents : '' // 注意:这里如果是使用change方法不断的调用,小数是输入不了的
// 获取数字的整数数部分
num = num.indexOf('.') > 0 ? num.substring(0, (num.indexOf('.'))) : num
// 如果没有小数点,整数部分不能以0开头
if (cents === '') {
if (num.length > 1 && num.substr(0, 1) === '0') {
return 'Not a Number ! '
}
} else {
if (num.length > 1 && num.substr(0, 1) === '0') {
return 'Not a Number ! '
}
}
for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++) {
num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3))
}
// 将数据(符号、整数部分、小数部分)整体组合返回
return sign + num + cents
}
}
最后
以上就是稳重小熊猫为你收集整理的数字千分位格式化问题的全部内容,希望文章能够帮你解决数字千分位格式化问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复