163、数字翻译成英文

163、数字翻译成英文

脚本说明:

把如下代码加入<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>

请输入一个0999,999,999之间的数字

<form name="myform">

<table border=0>

<tr>

<td>数字</td>

<td><input name="numver" size=9 maxlength=9> <input onclick="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>

 

Write a comment

Comments: 0