js数值转换成带单位的值

工作中,有时候会遇到需要对数值进行转换的情况,例如,数值太大,导致展示不便,需要转换成 xx万,xxx亿 之类的。

function cutNum(num,s,step,unit){
    s = s || 0;
    step = step || 10000;
    if(Math.abs(num) >= step){
        return cutNum(num/step,s+1,step,unit);
    }
    let relUnit = unit || ['元','万','亿','万亿','兆','京','垓','杼'];
    return num.toFixed(2)+relUnit[s];
}

输入 cutNum(10000) => 1.00万
第一个参数是需要转换的数值
第二个参数是起始单位,默认为0,有可能后台返回的是万的单位,但是还是过长,需要转换的情况,这时候第二个参数应填入1 cutNum(10000,1) => 1.00亿
第三个参数是指单位进制,默认为 10000 cutNum(100,0,10) =>1.00亿
第四个参数是单位列表如 个十百千万 cutNum(1000,0,10, [‘个’,‘十’,‘百’,‘千’,‘万’]) => 1.00千

### 回答1: 可以使用以下JS函数来将数值转换为金额: ``` function toMoney(num) { return num.toLocaleString('zh', {style: 'currency', currency: 'CNY'}); } ``` ### 回答2: 下面是一个用JavaScript编写的将数值转换成金额的函数: ```javascript function convertToCurrency(number) { // 判断输入是否为数字 if (typeof number !== 'number') { return '请输入一个有效的数字。'; } // 转换为有两位小数的字符串 const amount = number.toFixed(2); // 按小数点分割整数部分和小数部分 const parts = amount.split('.'); let integerPart = parts[0]; let decimalPart = parts[1]; // 分组整数部分,每隔三位加一个逗号 integerPart = integerPart.replace(/\B(?=(\d{3})+(?!\d))/g, ','); // 拼接整数部分和小数部分,并加上货币符号 const formattedAmount = '¥' + integerPart + '.' + decimalPart; return formattedAmount; } // 示例用法 const amount = 1234567.89; const formattedAmount = convertToCurrency(amount); console.log(formattedAmount); // 输出:¥1,234,567.89 ``` 这个函数接受一个数字作为参数,将其转换成金额格式,并返回一个字符串。如果输入不是一个有效的数字,函数会返回提示信息。函数首先使用toFixed()方法将数字转换成有两位小数的字符串。然后,根据小数点将字符串分割成整数部分和小数部分。接下来,使用正则表达式和replace()方法对整数部分进行分组,每隔三位加一个逗号,以实现金额格式。最后,将整数部分、小数部分和货币符号拼接在一起,返回转换后的金额字符串。 你可以将这个函数用于任何需要将数字转换成金额的场景。例如,你可以将函数用于显示购物车的总价、订单金额等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值