精彩专题推荐:建站之入门课 建站之必修课 建站之关键课 网站价值所在 流量提高专题 css+div 标准 个人网站打造全过程
返回建站学首页
导航:
建站首页 | 网站设计 | 网站开发 | 网站运营 | 网页软件 | 建站指南 | 搜索优化 | 图像处理 | 视频教程 | 书籍教程 | 建站专题
当前位置:首页>网站开发>ASP教程>正文

阿拉伯数字转换成英文字母程序代码


来源:我要学习网 时间:06-11-13 点击: 点击这里收藏本文
<% 
dim strhtml 
strhtml="<html>"&vbcrlf 
strhtml=strhtml&"<head>"&vbcrlf 
strhtml=strhmlt&"<title>make number to word</title>"&vbcrlf 
strhtml=strhtml&"</head>"&vbcrlf 
strhtml=strhtml&"<style>"&vbcrlf 
strhtml=strhtml&"<!--"&vbcrlf 
strhtml=strhtml&"body {font-size:9pt;font-family:arial}"&vbcrlf 
strhtml=strhtml&"td {font-size:9pt}"&vbcrlf 
strhtml=strhtml&"//-->"&vbcrlf 
strhtml=strhtml&"</style>"&vbcrlf 
strhtml=strhtml&"<body>"&vbcrlf 
Response.Write strhtml 
function zr4(y) 
dim z(10) 
z(1)="ONE" 
z(2)="TWO" 
z(3)="THREE" 
z(4)="FOUR" 
z(5)="FIVE" 
z(6)="SIX" 
z(7)="SEVEN" 
z(8)="EIGHT" 
z(9)="NINE" 
zr4=z(mid(y,1,1)) 
end function 

function zr3(y) 
dim z(10) 
z(1)="ONE" 
z(2)="TWO" 
z(3)="THREE" 
z(4)="FOUR" 
z(5)="FIVE" 
z(6)="SIX" 
z(7)="SEVEN" 
z(8)="EIGHT" 
z(9)="NINE" 
zr3=z(mid(y,3,1)) 
end function 

function zr2(y) 
dim z(20) 
z(10)="TEN" 
z(11)="ELEVEN" 
z(12)="TWELVE" 
z(13)="THIRTEEN" 
z(14)="FOURTEEN" 
z(15)="FIFTEEN" 
z(16)="SIXTEEN" 
z(17)="SEVENTEEN" 
z(18)="EIGHTEEN" 
z(19)="NINETEEN" 
zr2=z(mid(y,2,2)) 
end function 

function zr1(y) 
dim z(10) 
z(1)="TEN" 
z(2)="TWENTY" 
z(3)="THIRTY" 
z(4)="FORTY" 
z(5)="FIFTY" 
z(6)="SIXTY" 
z(7)="SEVENTY" 
z(8)="EIGHTY" 
z(9)="NINETY" 
zr1=z(mid(y,2,1)) 
end function 

function dw(y) 
dim z(5) 
z(0)=" " 
z(1)="THOUSAND" 
z(2)="MILLION" 
z(3)="BILLION" 
dw=z(y) 
end function 

function w2(y) ’用来制作2位数字转换英文 
if mid(y,2,1)="0" then ’判断是否小于10 
value=zr3(y) 
elseif mid(y,2,1)="1" then ’判断是否位于10-20之间 
value=zr2(y) 
elseif mid(y,3,1)="0" then 
’为了去掉尾部空格,判断是否为大于20小于100且能被10整除的数 
value=zr1(y) 
else 
value=zr1(y)+" "+zr3(y) ’加上十位到个位的空格 
end if 
w2=value 
end function 

function w3(y) ’用来制作3位数字转英文 
if mid(y,1,1)="0" then ’判断是否小于100 
value=w2(y) 
elseif mid(y,2,2)="00" then 
value=zr4(y)+" "+"HUNDRED" ’判断是否能被100整除 
else 
value=zr4(y)+" "+"HUNDRED"+" "+"AND"+" "+w2(y) 
’不能整除的要在后面加 “ AND ” 
end if 
w3=value 
end function 

function make(x) 
z=instr(1,x,".",1) ’取得小数点位置 
if z<>0 then ’判断有没有小数 
lstr=mid(x,1,z-1) ’取得小数点左边的字串 
rstr=mid(x,z+1,2) ’取得小数点右边的字串 
else 
lstr=x ’没有小数的情况 
end if 
lstrev=strreverse(lstr) 
dim a(5) ’定义5个字符串变量用来存放解析出来的三位一组的字串 
select case len(lstrev) mod 3 ’字串长度不能被整除,需补齐 
case "1" 
lstrev=lstrev+"00" 
case "2" 
lstrev=lstrev+"0" 
end select 
lm="" ’用于存放转换后的整数部分 
for i=0 to len(lstrev)/3-1 
’计算有多少个3位 
a(i)=StrReverse(mid(lstrev,3*i+1,3)) ’截取第一个三位 
if a(i)<>"000" then 
’用于避免这种情况 “1000000=ONE MILLION THOUSAND ONLY” 
if i<>0 then 
lm=w3(a(i))+" "+dw(i)+" "+lm 
’用来加上“ THOUSAND OR MILLION OR BILLION” 
else 
lm=w3(a(i)) 
’防止i=0时“lm=w3(a(i))+" "+dw(i)+" "+lm”多加两个尾空格 
end if 
else 
lm=w3(a(i))+lm 
end if 
next 
xs="" ’用来存放转换后的小数部分 
if z<>0 then 
xs="AND CENTS"+" "+w2("$"+rstr)+" " ’小数部分存在时转换小数部分 
end if 
make=lm+" "+xs 
’最后结果加上only 
end function 
strhtml="" 
strhtml="请注意:该程序小数部分只能支持到<font color=red> 2 </font>位" 
strhtml=strhtml&"<form method=post>"&vbcrlf 
strhtml=strhtml&"请输入要转换的数字:<input type=text name=num style=’font:9px arial;height:19’>"&vbcrlf 
strhtml=strhtml&"<input type=submit name=sub value=’转换’ style=’font-size:9pt;height:19’>"&vbcrlf 
strhtml=strhtml&"</form>"&vbcrlf 
Response.Write strhtml 
dim num,checknum 
num=Request.Form("num") 
if num<>empty then 
checknum=make(num) 
Response.Write "the number:
"&vbcrlf 
Response.Write "<font color=red>"&num&"</font>
"&vbcrlf 
Response.Write "maked the word is:
"&vbcrlf 
Response.Write "<font color=red>"&checknum&"</font>"&vbcrlf 
end if 
strhtml="" 
strhtml="</body>"&vbcrlf 
strhtml=strhtml&"</html>"&vbcrlf 
Response.Write strhtml 
%> 
 
 

  把此文章收藏到:          
广而告之
文章搜索
  • Google JZxue.Com

关于我们 | 联系我们 | 友情链接 | 网站地图
Copyright © 2005 - 2006 建站学 All rights reserved.