JS实现的数字千位符格式化(金额每3个数字加一逗号)

 

function toThousands(num) {
    var result = '', counter = 0;
    var dot = String(num).indexOf(".");
    if(dot != -1){
         // alert("有小数点");
        // 获取小数点后面的数字(indexOf和substring都不支持数字,所以要先转字符串才可以用)
        var dotCnt = String(num).substring(dot+1,num.length);

        // 获取小数点前面的数字
        num = String(num).split('.')[0]
        num = (num || 0).toString();
        for (var i = num.length - 1; i >= 0; i--) {
            counter++;
            result = num.charAt(i) + result;
            if (!(counter % 3) && i != 0) { result = ',' + result; }
        }
        result = result + '.' + dotCnt;
        return result;
        
    }else{
        // alert("没有小数点");
        return (num || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,');
    }
}

 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue实现给一个数字逗号可以使用Vue过滤器。 首先,在Vue组件的`filters`选项中注册一个名为`addComma`的过滤器函数。 ```javascript filters: { addComma: function(value) { // 将数字转换为字串 var str = value.toString(); // 使用正则表达式将每三个数字一个逗号 return str.replace(/(\d)(?=(\d{3})+$)/g, '$1,'); } } ``` 然后,在模板中使用该过滤器函数对数字进行过滤。 ```html <template> <div> <!-- 使用过滤器对数字进行过滤 --> {{ number | addComma }} </div> </template> ``` 以上代码会将`number`变量中的数字逗号后显示在页面上。 请注意,在Vue中,过滤器函数的名称需要与模板中调用过滤器时的名称相匹配,在这个例子中就是`addComma`。 接下来,你可以将需要添逗号的三个数字通过`v-model`绑定到Vue组件的变量中,并在模板中使用过滤器函数对它们进行过滤。 ```html <template> <div> <input type="number" v-model="number1"> <input type="number" v-model="number2"> <input type="number" v-model="number3"> <!-- 使用过滤器对数字进行过滤 --> {{ number1 | addComma }}, {{ number2 | addComma }}, {{ number3 | addComma }} </div> </template> <script> export default { data() { return { number1: 1000, number2: 2000, number3: 3000 }; }, filters: { addComma: function(value) { var str = value.toString(); return str.replace(/(\d)(?=(\d{3})+$)/g, '$1,'); } } }; </script> ``` 以上代码会将输入的三个数字逗号后显示在页面上。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值