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;
    }
    

      

  • 相关阅读:
    .NET Core命令行
    1 Android Studio项目目录结构简介
    Ubuntu 16.04 安装 python3.8
    LINUX环境搭建流程
    linux基础命令
    FPGA入门总结
    快速失败和安全失败
    删除64位ODBC数据源DNS
    记录常用的adb命令
    解决adb:error: unknown host service
  • 原文地址:https://www.cnblogs.com/wu-peng/p/9184058.html
Copyright © 2011-2022 走看看