zoukankan      html  css  js  c++  java
  • js处理数字太长分位显示

    /*******
     * num:待处理数字
     * precision:保留小数位
     * separator:分隔符
     * eg:formatNumber(100000000) 结果"100,000,000"  
     * formatNumber(100000000,2); 结果:"100,000,000.00" 
     * formatNumber(100000000,2,"?"); 结果:"100?000?000.00"
     *********/
    function formatNumber(num, precision, separator) {
        var parts;
        // 判断是否为数字
        if (!isNaN(parseFloat(num)) && isFinite(num)) {
            // 把类似 .5, 5. 之类的数据转化成0.5, 5, 为数据精度处理做准, 至于为什么
            // 不在判断中直接写 if (!isNaN(num = parseFloat(num)) && isFinite(num))
            // 是因为parseFloat有一个奇怪的精度问题, 比如 parseFloat(12312312.1234567119)
            // 的值变成了 12312312.123456713
            num = Number(num);
            // 处理小数点位数
            num = (typeof precision !== 'undefined' ? num.toFixed(precision) : num).toString();
            // 分离数字的小数部分和整数部分
            parts = num.split('.');
            // 整数部分加[separator]分隔, 借用一个著名的正则表达式
            parts[0] = parts[0].toString().replace(/(d)(?=(d{3})+(?!d))/g, '$1' + (separator || ','));
    
            return parts.join('.');
        }
        return NaN;
    }
    

      

  • 相关阅读:
    Spring Data Rest如何暴露ID字段
    Windows空间清理2
    把爱好变成职业
    面对面的口头信息传递对人决策的影响力最大
    最好是更好的敌人
    文明主线
    钱的本质
    2019第42周日
    开源与商业化
    生涯四度
  • 原文地址:https://www.cnblogs.com/wu-peng/p/9184058.html
Copyright © 2011-2022 走看看