一段代码实现数字翻译成英文

function SpellNumber(MyNumber)
{
var Result = "";
var MyNumberText = MyNumber.toString();

var IntegerText = MyNumberText ;
var DecimaText = "" ;
var count = 0;
var Place = new Array(""," Thousand "," Million "," Billion "," Trillion ");

var DecimalPlace = MyNumberText.indexOf(".");
if( DecimalPlace > 0)
{
IntegerText = MyNumberText.substring(0,DecimalPlace) ;
DecimaText = MyNumberText.substring(DecimalPlace+1,MyNumberText.length) ;
}

while( IntegerText != "" )
{

var temp = GetHundreds( right("000"+IntegerText,3) );
if( temp != "" )
{
   Result = temp + Place[count] + Result ;
}
if( IntegerText.length > 3 )
IntegerText = mid(IntegerText,0,IntegerText.length-3);
else
IntegerText = "" ;
count++;
}
  
if( DecimaText != "" )
{
var DecimaLength = MyNumberText.length - DecimalPlace - 1 ;
Result = Result + " Point"
for( i=0; i < DecimaLength; i++)
{
Result = Result +" "+ GetDigit(parseInt(mid(DecimaText,i,1))) ;
}
}
return Result;
}

//Converts a number text from 100-999 into text
function GetHundreds(MyNumberText)
{

var Result = "";
if( parseInt(MyNumberText) == 0) return "";

MyNumberText = right("000"+MyNumberText,3);
var hundred = mid(MyNumberText,0,1) ;
var ten = mid(MyNumberText,1,1) ;
var one = mid(MyNumberText,2,1) ;

if( hundred != "0")
Result = GetDigit(parseInt(hundred)) + " Hundred " ;
if( ten != "0" )
Result = Result + GetTens(mid(MyNumberText,1,2)) ;
else if( one != "0" )
Result = Result + " Zero " + GetDigit(parseInt(one)) ;
return Result;
}

// Converts a number text from 10 to 99 into text.
function GetTens(TensText)
{
var Result = "";
var tenDigit = parseInt(left(TensText,1)) ;
var realDigit = parseInt(TensText);
//If value between 10-19
if( tenDigit == 1 )
{
switch (realDigit)
{
case 10: Result = "Ten" ; break;
            case 11: Result = "Eleven" ; break;
            case 12: Result = "Twelve" ; break;
            case 13: Result = "Thirteen"; break;
            case 14: Result = "Fourteen"; break;
            case 15: Result = "Fifteen"; break;
            case 16: Result = "Sixteen"; break;
            case 17: Result = "Seventeen"; break;
            case 18: Result = "Eighteen"; break;
            case 19: Result = "Nineteen"; break;
}
}
else //If value between 20-99
{
switch (tenDigit)
{
case 2: Result = "Twenty "; break;
            case 3: Result = "Thirty "; break;
            case 4: Result = "Forty "; break;
            case 5: Result = "Fifty "; break;
            case 6: Result = "Sixty "; break;
            case 7: Result = "Seventy "; break;
            case 8: Result = "Eighty "; break;
            case 9: Result = "Ninety "; break;
}
if( right(TensText, 1) != "0")
Result = Result + GetDigit( parseInt(right(TensText, 1)));
}

return Result;
}

//Converts a number from 0 to 9 into text
function GetDigit(Digit)
{
var Result = "";
switch (Digit)
{
case 0: Result = "Zero" ; break;
case 1: Result = "One" ; break;
case 2: Result = "Two" ; break;
        case 3: Result = "Three" ; break;
        case 4: Result = "Four" ; break;
        case 5: Result = "Five" ; break;
        case 6: Result = "Six" ; break;
        case 7: Result = "Seven" ; break;
        case 8: Result = "Eight" ; break;
        case 9: Result = "Nine"; break;
}
return Result;
}

function left(mainStr,lngLen) 
{ 
if (lngLen>0) {return mainStr.substring(0,lngLen)} 
else{return null} 
} 

function right(mainStr,lngLen) 
{ 
if (mainStr.length-lngLen>=0 && mainStr.length>=0 && mainStr.length-lngLen<=mainStr.length) { 
return mainStr.substring(mainStr.length-lngLen,mainStr.length)} 
else{return null} 
} 
function mid(mainStr,starnum,endnum)
{ 
if (mainStr.length>=0){ 
return mainStr.substr(starnum,endnum) 
}else{return null} 

}

去试试吧!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 随着时代的不断发展,国际化的潮流也越来越明显,不管是在工作中还是在我们日常的学习中,外语使用的次数也是越来越多的,...
    厉害了我滴崽阅读 2,588评论 0 0
  • 加好友:点击此处 查看名片赞数量:☞点击此处 不加好友联系客服:点击此处 微信客服:为方便为各位客户提供服务,目前...
    712d6e2781a2阅读 175评论 0 0
  • 七、学会情绪管理 学习演讲要实现三个掌控:情绪掌控、肢体掌控和思路掌控。因此学习演讲的过程,其实就是对自己的情绪学...
    樊荣强阅读 4,007评论 0 0
  • 约会经济学,成功的约会本质是制造信息不对称,显露对自己有利的信息,隐藏对自己不利的信息,同时尽可能打破对方制造的信...
    颖公子6阅读 176评论 0 0
  • 时隔半年再次来到长江书院。收获满满的一天。 其实有很多困惑和阎老师对话过程中就迎刃而解了。 我困惑于女儿教育,对于...
    尘尘肥妈阅读 454评论 0 1

友情链接更多精彩内容