金额数值转换为货币格式

number:数字;places:小数点;symbol:货币符号;thousand:间隔符号;decimal:有小数点的情况

formatMoney(number, places, symbol, thousand, decimal) {
        number = number || 0;
        places = isNaN(places = Math.abs(places)) ? 2 : (number +'').includes('.')?places:0;
        symbol = symbol !== undefined ? symbol : "$";
        thousand = thousand || ",";
        decimal = decimal || ".";
        var negative = number < 0 ? "-" : "",
            i = parseInt(number = Math.abs(+number || 0).toFixed(places), 10) + "",
            j = (j = i.length) > 3 ? j % 3 : 0;
            var changeValue =  symbol + negative + (j ? i.substr(0, j) + thousand : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + thousand) + (places ? decimal + Math.abs(number - i).toFixed(places).slice(2) : "");
        // console.log({"货币形式":changeValue})
        return changeValue
    },
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答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、付费专栏及课程。

余额充值