一、场景
在前端展示的数据时,如果数据数值太大,会导致展示的数据非常长,不仅用户不能迅速读出数值大小而且影响美观,此时我们需要将这种大数简化为带单位的数值,如 250000 转为 25.0万。
二、实现函数
// 大数简化函数
function simplifyNumber(num) {
// 定义单位数组
const units = ['', '万', '亿', '万亿', '亿亿'];
// 获取数字的数量级
let unitIndex = Math.floor((String(num).length - 1) / 4);
let simplifiedNum = num;
if (unitIndex > 0) {
const unit = units[unitIndex];
//获取当前数量级的整数,如 1级 则是 10000,用于下面缩小相应的倍数,来简化数字
const divisor = Math.pow(10, unitIndex * 4);
//缩小相应倍数,并保留1为小数,拼接单位恢复大小
simplifiedNum = (num / divisor).toFixed(1) + unit;
}
return simplifiedNum;
}
效果实现:如输入 14000 ,输出:1.4万