JS----数子翻译英文

<body>区域中:
    <SCRIPT LANGUAGE="JavaScript">
        <!-- Begin
    var n = "";
        function validate(input) {
            if (input.length == 0) {
                alert('请输入一个数字');
                document.myform.textver.value = "";
                return true;
            }
            else
                convert(input);
        }
        function d1(x) { // single digit terms
            switch (x) {
                case '0':
                    n = "";
                    break;
                case '1':
                    n = " One ";
                    break;
                case '2':
                    n = " Two ";
                    break;
                case '3':
                    n = " Three ";
                    break;
                case '4':
                    n = " Four ";
                    break;
                case '5':
                    n = " Five ";
                    break;
                case '6':
                    n = " Six ";
                    break;
                case '7':
                    n = " Seven ";
                    break;
                case '8':
                    n = " Eight ";
                    break;
                case '9':
                    n = " Nine ";
                    break;
                default:
                    n = "Not a Number";
            }
            return n;
        }
        function d2(x) { // 10x digit terms
            switch (x) {
                case '0':
                    n = "";
                    break;
                case '1':
                    n = "";
                    break;
                case '2':
                    n = " Twenty ";
                    break;
                case '3':
                    n = " Thirty ";
                    break;
                case '4':
                    n = " Forty ";
                    break;
                case '5':
                    n = " Fifty ";
                    break;
                case '6':
                    n = " Sixty ";
                    break;
                case '7':
                    n = " Seventy ";
                    break;
                case '8':
                    n = " Eighty ";
                    break;
                case '9':
                    n = " Ninety ";
                    break;
                default:
                    n = "Not a Number";
            }
            return n;
        }
        function d3(x) { // teen digit terms
            switch (x) {
                case '0':
                    n = " Ten ";
                    break;
                case '1':
                    n = " Eleven ";
                    break;
                case '2':
                    n = " Twelve ";
                    break;
                case '3':
                    n = " Thirteen ";
                    break;
                case '4':
                    n = " Fourteen ";
                    break;
                case '5':
                    n = " Fifteen ";
                    break;
                case '6':
                    n = " Sixteen ";
                    break;
                case '7':
                    n = " Seventeen ";
                    break;
                case '8':
                    n = " Eighteen ";
                    break;
                case '9':
                    n = " Nineteen ";
                    break;
                default:
                    n = "Not a Number";
            }
            return n;
        }
        function convert(input) {
            var inputlength = input.length;
            var x = 0;
            var teen1 = "";
            var teen2 = "";
            var teen3 = "";
            var numName = "";
            var invalidNum = "";
            var a1 = ""; // for insertion of million, thousand, hundred 
            var a2 = "";
            var a3 = "";
            var a4 = "";
            var a5 = "";
            digit = new Array(inputlength); // stores output
            for (i = 0; i < inputlength; i++) {
                // puts digits into array
                digit[inputlength - i] = input.charAt(i)
            }
            ;
            store = new Array(9); // store output
            for (i = 0; i < inputlength; i++) {
                x = inputlength - i;
                switch (x) { // assign text to each digit
                    case x = 9:
                        d1(digit[x]);
                        store[x] = n;
                        break;
                    case x = 8:
                        if (digit[x] == "1") {
                            teen3 = "yes"
                        }
                        else {
                            teen3 = ""
                        }
                        ;
                        d2(digit[x]);
                        store[x] = n;
                        break;
                    case x = 7:
                        if (teen3 == "yes") {
                            teen3 = "";
                            d3(digit[x])
                        }
                        else {
                            d1(digit[x])
                        }
                        ;
                        store[x] = n;
                        break;
                    case x = 6:
                        d1(digit[x]);
                        store[x] = n;
                        break;
                    case x = 5:
                        if (digit[x] == "1") {
                            teen2 = "yes"
                        }
                        else {
                            teen2 = ""
                        }
                        ;
                        d2(digit[x]);
                        store[x] = n;
                        break;
                    case x = 4:
                        if (teen2 == "yes") {
                            teen2 = "";
                            d3(digit[x])
                        }
                        else {
                            d1(digit[x])
                        }
                        ;
                        store[x] = n;
                        break;
                    case x = 3:
                        d1(digit[x]);
                        store[x] = n;
                        break;
                    case x = 2:
                        if (digit[x] == "1") {
                            teen1 = "yes"
                        }
                        else {
                            teen1 = ""
                        }
                        ;
                        d2(digit[x]);
                        store[x] = n;
                        break;
                    case x = 1:
                        if (teen1 == "yes") {
                            teen1 = "";
                            d3(digit[x])
                        }
                        else {
                            d1(digit[x])
                        }
                        ;
                        store[x] = n;
                        break;
                }
                if (store[x] == "Not a Number") {
                    invalidNum = "yes"
                }
                ;
                switch (inputlength) {
                    case 1:
                        store[2] = "";
                    case 2:
                        store[3] = "";
                    case 3:
                        store[4] = "";
                    case 4:
                        store[5] = "";
                    case 5:
                        store[6] = "";
                    case 6:
                        store[7] = "";
                    case 7:
                        store[8] = "";
                    case 8:
                        store[9] = "";
                }
                if (store[9] != "") {
                    a1 = " Hundred, "
                } else {
                    a1 = ""
                }
                ;
                if ((store[9] != "") || (store[8] != "") || (store[7] != ""))
                {
                    a2 = " Million, "
                } else {
                    a2 = ""
                }
                ;
                if (store[6] != "") {
                    a3 = " Hundred "
                } else {
                    a3 = ""
                }
                ;
                if ((store[6] != "") || (store[5] != "") || (store[4] != ""))
                {
                    a4 = " Thousand, "
                } else {
                    a4 = ""
                }
                ;
                if (store[3] != "") {
                    a5 = " Hundred "
                } else {
                    a5 = ""
                }
                ;
            }
            // add up text, cancel if invalid input found
            if (invalidNum == "yes") {
                numName = "对不起,你输入的不是数字!"
            }
            else {
                numName = store[9] + a1 + store[8] + store[7]
                        + a2 + store[6] + a3 + store[5] + store[4]
                        + a4 + store[3] + a5 + store[2] + store[1];
            }
            store[1] = "";
            store[2] = "";
            store[3] = "";
            store[4] = "";
            store[5] = "";
            store[6] = "";
            store[7] = "";
            store[8] = "";
            store[9] = "";
            if (numName == "") {
                numName = "Zero"
            }
            ;
            document.myform.textver.value = numName;
            return true;
        }
        // End -->
    </script>
    请输入一个0到999,999,999之间的数字
    <form name="myform">
        <table border=0>
            <tr>
                <td>数字</td>
                <td><input name="numver" size=9 maxlength=9> <input οnclick="return validate(document.myform.numver.value)" type="button" value="翻译数字"></td>
            </tr>
            <tr>
                <td>英文翻译</td>
                <td><input name="textver" size=50 maxlength=50></td>
            </tr>
            <tr>
                <td align=middle colspan=2></td>
            </tr>
        </table>
    </form>

效果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值