js大数字转换,将大额数字转换为万、千万、亿等
代码
/** * 大数字转换,将大额数字转换为万、千万、亿等 * @param value 数字值 */ export function bigNumberTransform (value) { const newValue = [\'\', \'\', \'\'] let fr = 1000 let num = 3 let text1 = \'\' let fm = 1 while (value / fr >= 1) { fr *= 10 num += 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-variable fm = text1 === \'万\' ? 10000 : 10000000 if (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 ? \'万亿\' : text1 text1 = (num - 8) / 7 > 1 ? \'千万亿\' : text1 // tslint:disable-next-line:no-shadowed-variable fm = 1 if (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(\'\') }
版权声明:本文为jardeng原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。