当前位置:编程学习 > JS >>

人民币大小写转换(JavaScript)

一个小巧的人民币转换代码,输入数字可转换成大写标准形式,其实程序很简单,例如数组存储大写信息,根据输入的数字调用对应的大写文字,另外,如果你可以找到语音的话,它还可以报出钱币是多少,真有意思。
答案:<html>
<head>
<title>大小写转换</title>
<bgsound id=bgsoundone src="" loop=1> 
<SCRIPT LANGUAGE="VBScript"> 
dim hj,hji 
sub document_onkeypress() 
if window.event.srcelement.id="num" and window.event.keycode="13" then 
call retu_cn() 
end if 
end sub 
sub window_onload() 
document.fmSubmit.t1.focus() 
end sub 
SUB retu_cn() 
dim n,m_hj,s,ch,ch2,ch3,num 
num=Replace(trim(document.fmSubmit.t1.value),",","",1,-1,1) 
if num="" then 
MsgBox "您还没有输入金额!" 
document.fmSubmit.t1.focus() 
exit sub 
End If 
if IsNumeric(num)=False then 
MsgBox "您输入的不是金额!" 
document.fmSubmit.t1.focus() 
exit sub 
End If 
n=FormatNumber(num,2) 
num=n 
n=Replace(n,",","",1,-1,1) 
If len(n)>15 Then 
MsgBox "金额必须小于千亿!" 
document.fmSubmit.t1.focus() 
exit sub 
End If 
hj=space(0) 
s="840" 
ch="壹贰叁肆伍陆柒捌玖" 
ch2="仟佰拾 " 
ch3="亿万元" 
for x=1 to 3 
m=cstr(int(n/10^FormatNumber(mid(s,x,1),0,-1))) 
m=space(4-len(m))+m 
m_hj=space(0) 
if m<>" 0" then 
for y=1 to 4 
if mid(m,y,1)<>space(1) and mid(m,y,1)<>"0" then 
m_hj=trim(m_hj+mid(ch,FormatNumber(mid(m,y,1),0,-1),1)+mid(ch2,y,1)) 
else 
if mid(m,y,1)=space(1) or mid(m,y,1)="0" then 
m_hj=m_hj 
if right(m_hj,1)="零" then 
m_hj=m_hj+space(0) 
else 
m_hj=m_hj+"零" 
end if 
else 
m_hj=m_hj 
end if 
end if 
next 
if right(m_hj,1)="零" then 
m_hj=mid(m_hj,1,len(m_hj)-1)+mid(ch3,x,1) 
if x=3 then 
m_hj=m_hj+space(0) 
else 
m_hj=m_hj+"零" 
end if 
else 
m_hj=m_hj+mid(ch3,x,1) 
end if 
if right(hj,1)="零" and mid(m_hj,1,1)="零" then 
hj=hj+mid(m_hj,2,len(m_hj)-1) 
else 
hj=hj+m_hj 
end if 
else 
if x=3 then 
if right(hj,1)="零" then 
if trim(hj)="零" then 
hj=hj+space(0) 
else 
hj=mid(hj,1,len(hj)-1)+"元" 
end if 
else 
if trim(hj)="零" then 
hj=hj+space(0) 
else 
hj=hj+"元" 
end if 
end if 
else 
if right(hj,1)="零" then 
hj=hj+space(0) 
else 
hj=hj+"零" 
end if 
end if 
end if 
if n-int(n)=0 then 
n=n-int(FormatNumber(m,0,-1))*10^int(FormatNumber(mid(s,x,1),0,-1)) 
else 
tt=FormatNumber("0."+mid(cstr(n),Instr(1,n,".")+1,2),2) 
n=int(n) 
n=n-int(FormatNumber(m,0,-1))*10^int(FormatNumber(mid(s,x,1),0,-1)) 
n=n+tt 
end if 
next 
m=mid(cstr(n),2,2) 
if trim(len(m))<>2 then 
m=m+"0" 
end if 
if n*100=0 then 
if left(hj,1)="零" then 
if right(hj,1)="零" then 
hj=hj+"元整" 
else 
hj=mid(hj,2,len(hj)-1)+"整" 
end if 
else 
if right(hj,1)="零" then 
hj=mid(hj,1,len(hj)-1)+"整" 
else 
hj=hj+"整" 
end if 
end if 
else 
if right(hj,1)="零" then 
hj=mid(hj,1,len(hj)-1) 
else 
hj=hj 
if mid(m,1,1)="0" or mid(m,1,1)=space(1) then 
hj=hj+"零" 
else 
hj=hj+mid(ch,FormatNumber(mid(m,1,1),0,-1),1)+"角" 
end if 
end if 
if mid(hj,1,1)="零" then 
hj=mid(hj,2,len(hj)-1) 
else 
hj=hj 
end if 
if mid(m,2,1)="0" then 
hj=hj+"整" 
else 
hj=hj+mid(ch,FormatNumber(mid(m,2,1),0,-1),1)+"分" 
end if 
end if 

if num=".00" then 
document.fmSubmit.t1.value="0.00" 
else 
document.fmSubmit.t1.value=num 
end if 
document.fmSubmit.t2.value="" 
hji=1 
call read() 
End Sub 

SUB read() 
MyVar=mid(hj,hji,1) 
document.fmSubmit.t2.value=document.fmSubmit.t2.value+MyVar 
Select Case MyVar 
Case "零" document.all("bgsoundone").src="wav/0.wav" 
Case "壹" document.all("bgsoundone").src="wav/1.wav" 
Case "贰" document.all("bgsoundone").src="wav/2.wav" 
Case "叁" document.all("bgsoundone").src="wav/3.wav" 
Case "肆" document.all("bgsoundone").src="wav/4.wav" 
Case "伍" document.all("bgsoundone").src="wav/5.wav" 
Case "陆" document.all("bgsoundone").src="wav/6.wav" 
Case "柒" document.all("bgsoundone").src="wav/7.wav" 
Case "捌" document.all("bgsoundone").src="wav/8.wav" 
Case "玖" document.all("bgsoundone").src="wav/9.wav" 
Case "拾" document.all("bgsoundone").src="wav/10.wav" 
Case "佰" document.all("bgsoundone").src="wav/b.wav" 
Case "仟" document.all("bgsoundone").src="wav/q.wav" 
Case "万" document.all("bgsoundone").src="wav/w.wav" 
Case "亿" document.all("bgsoundone").src="wav/y.wav" 
Case "元" document.all("bgsoundone").src="wav/yuan.wav" 
Case "分" document.all("bgsoundone").src="wav/fen.wav" 
Case "角" document.all("bgsoundone").src="wav/jiao.wav" 
Case "整" document.all("bgsoundone").src="wav/z.wav" 
Case else hji=0 
document.all("bgsoundone").src="" 
exit sub 
End Select 
hji=hji+1 
setTimeout "read",500 
End Sub 
</script>
</head>
<body>
<form id=fmSubmit name=fmSubmit method="POST"> 
<p>金额(数字):<input type="text" name="T1" size="20" id="num">  <input type="button" onclick=retu_cn() value="转换成大写" name="B1"></p>
大写金额为:<input type="text" name="T2" size="55" readonly> 
</form> 
</body>
</html>

上一个:Js过滤空格代码
下一个:JavaScript模拟沿Y轴纵深运动的球体

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,