zoukankan      html  css  js  c++  java
  • 格式化金额以及数字金额转为大写金额【前端】

    效果展示:

    //格式化金额用于票据上面显示
    function formateMoney(money) {
        var res = "";
        var str = money + "";
        var arr = str.split('.');
        //'123456789123456.78'.replace(/B(?=(?:d{1})+)/g, ',')
        //获取整数部分
        str = arr[0];
        //获取到 字符串长度
        var len = str.length;
        //总长度 9 减去 -len-2 , 剩下就是补得空格数
        var count = 9 - len - 2;
        for (var i = 1; i < count; i++) {
            res += "<td></td>";
        }
        //整数部分格式化处理
        res += '<td>¥</td><td>' + str.replace(/B(?=(?:d{1})+)/g, '</td><td>') + '</td>';
        if (arr.length >= 2) {
            //证明有小数部分
            res += '<td>' + arr[1].replace(/B(?=(?:d{1})+)/g, '</td><td>') + '</td>';
        } else {
            res += '<td>0</td><td>0</td>';//因为没有小数点,所有后面两位用空格代替
        }
    
        return res;
    }
    //数字金额转为大写金额
    function ToUpperMoney(n) {
        if (n == 0) {
            return "";
        }
        if (!/^(0|[1-9]d*)(.d+)?$/.test(n))
            return "数据非法";
        var unit = "千百拾亿千百拾万千百拾元角分", str = "";
        n += "00";
        var p = n.indexOf('.');
        if (p >= 0)
            n = n.substring(0, p) + n.substr(p + 1, 2);
        unit = unit.substr(unit.length - n.length);
        for (var i = 0; i < n.length; i++)
            str += '零壹贰叁肆伍陆柒捌玖'.charAt(n.charAt(i)) + unit.charAt(i);
        return str.replace(/零(千|百|拾|角)/g, "").replace(/(零)+/g, "").replace(/零(万|亿|元)/g, "$1").replace(/(亿)万|壹(拾)/g, "$1$2").replace(/^元零?|零分/g, "").replace(/元$/g, "元整");
    }
  • 相关阅读:
    sqlchemy self made
    scrapy 自定义图片路径保存,并存到数据库中
    关于scrapy下载文件重命名的办法以及对应url没有文件后缀的办法
    下载转码
    scrapy 下载图片 from cuiqingcai
    Scrapy框架学习
    字符串处理
    scrapy 日志处理
    sqlalchemy多对多查询
    sqlalchemy 多对多关系
  • 原文地址:https://www.cnblogs.com/yougmi/p/8477246.html
Copyright © 2011-2022 走看看