函数

// 将1、2、3、4、5、6... 转为 '一','二','三','四','五','六' 等汉字
function numberToChinese(num)
{
    var bit = Array("零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十");
    //各位数
    if (num <= 10) {
        return bit[num];
    }
    //十位数
    if(num < 100){
        var array = num.toString().split("");
        if(array[0] < 2){
            return bit[10]+''+bit[array[1]];
        }else{
            if(array[1] == 0){
                return bit[array[0]]+''+bit[10];
            }else{
                return bit[array[0]]+''+bit[10]+''+bit[array[1]];
            }
        }
    }

    //百位数
    if(num < 1000){
        var array = num.toString().split("");
        if(array[1] == 0 && array[2] == 0){
            return bit[array[0]]+"百";
        }else if(array[1] == 0 && array[2] != 0){
            return bit[array[0]]+"百"+bit[array[1]]+''+bit[array[2]];
        }else if(array[1] != 0 && array[2] == 0 ){
            return bit[array[0]]+"百"+bit[array[1]]+''+bit[10];
        }else{
            return bit[array[0]]+"百"+bit[array[1]]+''+bit[10]+''+bit[array[2]];
        }

    }
    //千位数
    if(num < 10000){
        var array = num.toString().split("");
        if(array[1] == 0 && array[2] == 0 && array[3] == 0){
            return bit[array[0]]+"千";
        }else if(array[1] == 0 && array[2] != 0 && array[3] != 0){
            return bit[array[0]]+"千"+bit[array[1]]+''+bit[array[2]]+''+bit[10]+''+bit[array[3]];
        }else if(array[1] == 0 && array[2] == 0 && array[3] != 0){
            return bit[array[0]]+"千"+bit[array[1]]+''+bit[array[3]];
        }else if(array[1] == 0 && array[2] != 0 && array[3] == 0){
            return bit[array[0]]+"千"+bit[array[1]]+''+bit[array[2]]+''+bit[10];
        }else if(array[1] != 0 && array[2] == 0 && array[3] == 0){
            return bit[array[0]]+"千"+bit[array[1]]+"百";
        }else if(array[1] != 0 && array[2] != 0 && array[3] == 0){
            return bit[array[0]]+"千"+bit[array[1]]+"百"+bit[array[2]]+''+bit[10];
        }else if(array[1] != 0 && array[2] == 0 && array[3] != 0){
            return bit[array[0]]+"千"+bit[array[1]]+"百"+bit[array[2]]+''+bit[array[3]];
        }else{
            return bit[array[0]]+"千"+bit[array[1]]+"百"+bit[array[2]]+''+bit[10]+''+bit[array[3]];
        }
    }

    return num;
}

调用

console.log(numberToChinese(3943))
//输出:三千九百四十三
最后修改:2023 年 12 月 05 日
如果觉得我的文章对你有用,请随意赞赏