Vue大数字Filter转换方法

首先在src目录下的filters文件夹中放置index.js 写入下面的方法

/*** 大数字转换,将大额数字转换为万、千万、亿等* @param value 数字值*/
export function bigNumberTransform(value) {const newValue = ['', '', '']let fr = 1000let num = 3let text1 = ''let fm = 1while (value / fr >= 1) {fr *= 10num += 1// console.log('数字', value / fr, 'num:', num)}if (num <= 4) {// 千newValue[0] = parseInt(value / 1000) + ''newValue[1] = '千'} else if (num <= 8) {// 万text1 = parseInt(num - 4) / 3 > 1 ? '千万' : '万'// tslint:disable-next-line:no-shadowed-variablefm = text1 === '万' ? 10000 : 10000000if (value % fm === 0) {newValue[0] = parseInt(value / fm) + ''} else {newValue[0] = parseFloat(value / fm).toFixed(2) + ''}newValue[1] = text1} else if (num <= 16) {// 亿text1 = (num - 8) / 3 > 1 ? '千亿' : '亿'text1 = (num - 8) / 4 > 1 ? '万亿' : text1text1 = (num - 8) / 7 > 1 ? '千万亿' : text1// tslint:disable-next-line:no-shadowed-variablefm = 1if (text1 === '亿') {fm = 100000000} else if (text1 === '千亿') {fm = 100000000000} else if (text1 === '万亿') {fm = 1000000000000} else if (text1 === '千万亿') {fm = 1000000000000000}if (value % fm === 0) {newValue[0] = parseInt(value / fm) + ''} else {newValue[0] = parseFloat(value / fm).toFixed(2) + ''}newValue[1] = text1}if (value < 1000) {newValue[0] = value + ''newValue[1] = ''}return newValue.join('')
}

再需要使用的index.vue文件中引用



本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部