金额添加千分位逗号分隔符

  1. 函数方式:

把金额当做字符串,从末尾开始处理,只处理整数部分,小数部分不管,每三位就加一个逗号

function  formatAmount(amount) { 
   let result='';//存储格式化的结果 
   let j=0;//控制每3位加一个逗号 
   for(let i=amount.length-1;i>=0;i--){//从末尾开始遍历到第一个 j++;
        result=amount[i]+result;
        if(amount[i]=='.'){//逗号只加在整数部分           
            j=0;
        }
        if(j==3){
            //金额的最后一个数字正好满足3位时,其前面不用加逗号,例:500.00            
            if(i!=0){
                result=','+result;
            }
            j=0;
        }
    }
    return result;
}

使用:formatAmount('18920.36')

  1. 正则匹配方式:

var reg = /(?<=\d)(?< !.\d*)(?=(\d{3})+(.|$))/g

使用:'18920.36'.replace(reg,',')

你可能感兴趣的:(金额添加千分位逗号分隔符)