JavaScript 阿拉伯数字转为财务数字,零壹贰叁肆伍陆柒捌玖拾佰仟万亿
   1 分钟阅读

阿拉伯数字 123456789 转为 ,财务数字零壹贰叁肆伍陆柒捌玖。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
function toChinaNumber (options) {
    options=options+"";
    options = options.replace(/^0+/, "");
    var numberAry = ["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"],
            unitAry = ["","拾","佰","仟"],
            bigUnitAry = ["","万","亿"];
    var targetStr = "";
    var zeroFlag = 0;
    var i, p, nowAloneNumber;
    var quotient, modulus;
    var len=options.length;
    if(len==0){
        targetStr += "零";
    }else{
        for (i = 0; i < len; i++) {
            p = len - i - 1;
            nowAloneNumber = options.substr(i, 1);
            quotient = p / 4;//商
            modulus = p % 4;//余数
            if (nowAloneNumber == "0") {
                zeroFlag++;
            } else {
                if (zeroFlag > 0) {
                    targetStr += numberAry[0];
                }
                zeroFlag = 0;
                targetStr += numberAry[Number(nowAloneNumber)] + unitAry[modulus];
            }
            if (modulus == 0 && zeroFlag < 4) {
                targetStr += bigUnitAry[quotient];
                zeroFlag = 0;
            }
        }
    }
    targetStr += "元整";
    return targetStr;
}

var testNumber=35987;
var testStr="298";
console.log(toChinaNumber(testNumber));
console.log(toChinaNumber(testStr));
本文目录