• 将数值格式化成金额形式


    /** 
                 * 将数值格式化成金额形式 
                 * 
                 * @param num 数值(Number或者String) 
                 * @param precision 精度,默认不变
                 * @param separator 分隔符,默认为逗号
                 * @return 金额格式的字符串,如'1,234,567',默认返回NaN
                 * @type String 
                 */
                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' ? (Math.round(num * Math.pow(10, precision)) / Math.pow(10, precision)).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;
                }
    
                function getParams(name) {
                    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
                    var r = window.location.search.substr(1).match(reg);
                    if (r != null) return unescape(r[2]); return null;
                }
    使用:formatNumber(calAmount,2,",")
  • 相关阅读:
    UVa 1451 Average (斜率优化)
    POJ 1160 Post Office (四边形不等式优化DP)
    HDU 3507 Print Article (斜率DP)
    LightOJ 1427 Substring Frequency (II) (AC自动机)
    UVa 10245 The Closest Pair Problem (分治)
    POJ 1741 Tree (树分治)
    HDU 3487 Play with Chain (Splay)
    POJ 2828 Buy Tickets (线段树)
    HDU 3723 Delta Wave (高精度+calelan数)
    UVa 1625 Color Length (DP)
  • 原文地址:https://www.cnblogs.com/ivan5277/p/12762336.html
Copyright © 2020-2023  润新知