万以内的数字转繁体

<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>万以内的数字转繁体</title>
</head>
<body>
    <script>
        function formatNum(number) { //格式化数字
            let newNumer = number.toString()
            let newNumerLength = newNumer.length
            let returnNum = '';
            switch(newNumerLength){
                case 1:
                    returnNum = transfromNum(number)
                    break;
                case 2:
                    let oneNum2 = transfromNum(newNumer.split('')[0])
                    let twoNum2 = transfromNum(newNumer.split('')[1])
                    if(twoNum2 == ''){ //90
                        returnNum = oneNum2 + ''
                    }else{ //99
                        returnNum = oneNum2 + '' + twoNum2
                    }
                    break;
                case 3:
                    let oneNum3 = transfromNum(newNumer.split('')[0])
                    let twoNum3 = transfromNum(newNumer.split('')[1])
                    let threeNum3 = transfromNum(newNumer.split('')[2])
                    if(twoNum3 == ''){
                        if(threeNum3 == ''){ //900
                            returnNum = oneNum3 + ''
                        }else{ //909
                            returnNum = oneNum3 + '佰零' + threeNum3
                        }
                    }else{
                        if(threeNum3 == ''){ //990
                            returnNum = oneNum3 + '' + twoNum3 + ''
                        }else{ //999
                            returnNum = oneNum3 + '' + twoNum3 + '' + threeNum3
                        }
                    }
                    break;
                case 4:
                    let oneNum4 = transfromNum(newNumer.split('')[0])
                    let twoNum4 = transfromNum(newNumer.split('')[1])
                    let threeNum4 = transfromNum(newNumer.split('')[2])
                    let fourNum4 = transfromNum(newNumer.split('')[3])
                    if(twoNum4 == ''){
                        if(threeNum4 == ''){
                            if(fourNum4 == ''){ //9000
                                returnNum = oneNum4 + ''
                            }else{ //9009
                                returnNum = oneNum4 + '仟零' + fourNum4
                            }
                        }else{
                            if(fourNum4 == ''){ //9090
                                returnNum = oneNum4 + '仟零' + threeNum4 + ''
                            }else{ //9099
                                returnNum = oneNum4 + '仟零' + threeNum4 + '' + fourNum4
                            }
                        }
                    }else{
                        if(threeNum4 == ''){
                            if(fourNum4 == ''){ //9900
                                returnNum = oneNum4 + '' + twoNum4 + ''
                            }else{ //9909
                                returnNum = oneNum4 + '' + twoNum4 + '佰零' + fourNum4
                            }
                        }else{
                            if(fourNum4 == ''){ //9990
                                returnNum = oneNum4 + '' + twoNum4 + '' + threeNum4 + ''
                            }else{ //9999
                                returnNum = oneNum4 + '' + twoNum4 + '' + threeNum4 + '' + fourNum4
                            }
                        }
                    }
                    break;
            }
            return returnNum;
        }

        function transfromNum(number) { //数字转繁体
            let num = Number(number)
            let backNum = '';
            switch(num) {
                case 0:
                    backNum = '';
                    break;
                case 1:
                    backNum = '';
                    break;
                case 2:
                    backNum = '';
                    break;
                case 3:
                    backNum = '';
                    break;
                case 4:
                    backNum = '';
                    break;
                case 5:
                    backNum = '';
                    break;
                case 6:
                    backNum = '';
                    break;
                case 7:
                    backNum = '';
                    break;
                case 8:
                    backNum = '';
                    break;
                case 9:
                    backNum = '';
                    break;
            }
            return backNum;
        }

        // console.log(formatNum(9))
        // console.log(formatNum(99))
        // console.log(formatNum(999))
        // console.log(formatNum(9999))
    </script>
</body>
</html>
原文地址:https://www.cnblogs.com/muou2125/p/11680297.html