资源描述:
《excel中数字转换英文大写程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、FunctionNumbToEnglish(ByValMyNumber)DimTempDimInte,DecDimDecimalPlace,CountReDimPlace(9)AsStringPlace(2)="Thousand"Place(3)="Million"Place(4)="Billion"Place(5)="Trillion"'将数字Mynumber转换成字符串格式,并去掉多余空格MyNumber=Trim(Str(MyNumber))'查找小数点“.”位置DecimalPlace=InStr(MyNumber,".")'如果找到小数点...IfDecimalPla
2、ce>0Then'转换小数部分Temp=Len(Mid(MyNumber,DecimalPlace+1))Count=1Dec=""DoWhileCount-1<>TempDec=Dec&""&ConvertDecimal(Mid(MyNumber,DecimalPlace+Count,1))Count=Count+1Loop'去掉小数部分,保留剩下的整数部分留做转换MyNumber=Trim(Left(MyNumber,DecimalPlace-1))EndIfCount=1DoWhileMyNumber<>""'将最后的三位数字转换成英文数字Temp=ConvertHund
3、reds(Right(MyNumber,3))IfTemp<>""ThenInte=Temp&Place(Count)&InteIfLen(MyNumber)>3Then'如果整数部分大于三位,再向前移动三位数字重复进行转换MyNumber=Left(MyNumber,Len(MyNumber)-3)ElseMyNumber=""EndIfCount=Count+1Loop'增加小数点描述IfDec=""ThenIfInte=""ThenDec="NoNumber!"EndIfElseIfInte=""ThenDec="ZeroPoint"&DecElseDec="Point"
4、&DecEndIfEndIfNumbToEnglish=Inte&DecEndFunction'定义子函数,转换百位数PrivateFunctionConvertHundreds(ByValMyNumber)DimResultAsString'如果数字为空,退出.IfVal(MyNumber)=0ThenExitFunction'在不满三位数的数字前补"0".MyNumber=Right("000"&MyNumber,3)'判断是否有百位数可供转换?IfLeft(MyNumber,1)<>"0"ThenIfRight("000"&MyNumber,2)<>0ThenResult
5、=ConvertDigit(Left(MyNumber,1))&"Hundredand"ElseResult=ConvertDigit(Left(MyNumber,1))&"Hundred"EndIfEndIf'判断是否有十位数可供转换?IfMid(MyNumber,2,1)<>"0"ThenResult=Result&ConvertTens(Mid(MyNumber,2))Else'如果没有,转换个位数.Result=Result&ConvertDigit(Mid(MyNumber,3))EndIfConvertHundreds=Trim(Result)EndFunction
6、'定义子函数,转换十位数PrivateFunctionConvertTens(ByValMyTens)DimResultAsString'判断数字是否在10-19之间?IfVal(Left(MyTens,1))=1ThenSelectCaseVal(MyTens)Case10:Result="Ten"Case11:Result="Eleven"Case12:Result="Twelve"Case13:Result="Thirteen"Case14:Result="Fourteen"Case15:Result="Fifteen"Case16:Result="Sixteen"Cas
7、e17:Result="Seventeen"Case18:Result="Eighteen"Case19:Result="Nineteen"CaseElseEndSelectElse'..否则,它是介于20-99之间.SelectCaseVal(Left(MyTens,1))Case2:Result="Twenty"Case3:Result="Thirty"Case4:Result="Forty"Case5:Result="Fifty"Case6:Result="Sixty"Case7:Re