|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。程序|汉字|转换--------------------数字向汉字转换的函数汇合------------------------
作者:northsnow
日期:20051217
挪用办法:a=convertNumToStr("1234.5678")
功效:将如许的串1234.5678转换成一千二百三十四点五六七八
将一串数字转成对应的汉字
functionconvertNumToStr(pNum)
dimoNum,rValue
oNum=pNum:rValue=""
假如给定的不是公道的数字,则前往空串
ifnotCheckPattern(oNum,z_PatNum)then
ConvertNumToStr=rValue
exitfunction
endif
将数字后面无用的0往失落
setrLjc=newRegExp
rLjc.Pattern="^0{2,}([^.])"
oNum=rLjc.Replace(oNum,"$1")
rLjc.Pattern="^0{2,}(.)"
oNum=rLjc.Replace(oNum,"0$1")
将小数点前后部分分隔
arrNum=split(oNum,".")
frontNum=arrNum(0)
backNum=""
ifubound(arrNum)>0thenbackNum=arrNum(1)
----转换小数点后面的数----
oLen=len(frontNum)
ifoLen=1then只要一名
rValue=convertNumToCC(frontNum)
elseifoLen=2then只要两位
if(mid(frontNum,1,1))"1"thenrValue=convertNumToCC(mid(frontNum,1,1))
rValue=rValue&getDigit(2)
if(mid(frontNum,2,1))"0"thenrValue=rValue&convertNumToCC(mid(frontNum,2,1))
else年夜于两位的情形
dimcurPos,curNum,hasZero
hasZero=false标明在此前有无相毗连的零
fori=1tooLen
curPos=oLen-i+1
curNum=mid(frontNum,i,1)
ifcint(curNum)=0then以后位数为零
hasZero=true
铛铛前位为万位大概亿位,则举行处置
if(curPos-1)mod4=0andcurPos>4then
rValue=rValue&getDigit(curPos)
endif
else以后位数不是零
ifhasZerothen
rValue=rValue&"零"
hasZero=false
endif
rValue=rValue&convertNumToCC(curNum)&getDigit(curPos)
endif
next
endif
转换小数点前面的
ifbackNum""then
strBack=""
fori=1tolen(backNum)
strBack=strBack&convertNumToCC(mid(backNum,i,1))
next
rValue=rValue&"点"&strBack
endif
convertNumToStr=rValue
endfunction
将一个数字转成对应的汉字
functionconvertNumToCC(pNum)
selectcasepNum
case1:convertNumToCC="一"
case2:convertNumToCC="二"
case3:convertNumToCC="三"
case4:convertNumToCC="四"
case5:convertNumToCC="五"
case6:convertNumToCC="六"
case7:convertNumToCC="七"
case8:convertNumToCC="八"
case9:convertNumToCC="九"
case0:convertNumToCC="零"
endselect
endfunction
依据位数前往对应的汉字
functiongetDigit(oDigit)
if(oDigit+2)mod4=0then
getDigit="十"
elseif(oDigit+1)mod4=0then
getDigit="百"
elseifoDigitmod4=0then
getDigit="千"
elseif(oDigit-1)mod4=0then
if((oDigit-1)/4)mod2=0then
getDigit="亿"
else
getDigit="万"
endif
endif
endfunction
专业性的服务。有的ASP商提供垂直型的应用服务,针对某一特定行业提供应用服务。 |
|