欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js-练习:输入阿拉伯数字的金额,转换成大写汉字输出

程序员文章站 2022-06-18 08:50:06
...

输入阿拉伯数字的金额,转换成大写汉字输出

  • 代码:
<script>
    var m = Number(prompt("金额:"));
    m *= 100;
    m += "";
    var length = m.length;
    var unit = new Array("仟", "佰", "拾", "", "仟", "佰", "拾", "", "角", "分");
    var result = "";
    for (var i = 0; i < length; i++) {
        if (i == 2) {
            result = "元" + result;
        } else if (i == 6) {
            result = "万" + result;
        }
        if (m.charAt(length - i - 1) == 0) {
            if (i != 0 && i != 1) {
                if (result.charAt(0) != '零' && result.charAt(0) != '元' && result.charAt(0) != '万') {
                    result = "零" + result;
                }
            }
            continue;
        }
        result = toDx(m.charAt(length - i - 1)) + unit[unit.length - i - 1] + result;
    }
    result += result.charAt(result.length - 1) == '元' ? "整" : "";
    alert(result);

    function toDx(n) {
        switch (n) {
            case "0":
                return "零";
            case "1":
                return "壹";
            case "2":
                return "贰";
            case "3":
                return "叁";
            case "4":
                return "肆";
            case "5":
                return "伍";
            case "6":
                return "陆";
            case "7":
                return "柒";
            case "8":
                return "捌";
            case "9":
                return "玖";
        }
    }
</script>
  • 结果
    js-练习:输入阿拉伯数字的金额,转换成大写汉字输出
    js-练习:输入阿拉伯数字的金额,转换成大写汉字输出
    js-练习:输入阿拉伯数字的金额,转换成大写汉字输出
    js-练习:输入阿拉伯数字的金额,转换成大写汉字输出
    js-练习:输入阿拉伯数字的金额,转换成大写汉字输出
    js-练习:输入阿拉伯数字的金额,转换成大写汉字输出

  • 思路:
    1、金额分为大写数字和大写单位,可以将两部分分别处理后拼接;
    2、将输入数据×100,可以避免小数点判断
    3、当前位为0时,不显示单位,且当有多位为0时,只显示一个零,如:壹仟零伍(1005)
    4、当0后只有0和单位“元”或“万”时,不显示“零”,如:壹佰元整(100)
    5、当角和分都为0时,显示 xxx元整

  • 不足:
    • 异常数据检测
    • “元”–> “圆”
    • ……
相关标签: javascript