当前位置:  技术问答>java相关

有人能提供一个Java版的数字金额转换成大写金额的程序吗?

    来源: 互联网  发布时间:2015-08-10

    本文导语:  有人能提供一个Java版的数字金额转换成大写金额的程序吗? | http://www.csdn.net/expert/topic/831/831257.xml?temp=.718075 | 转换大写金额 INPUT { BORDER-RIGHT: #c0d3dc 1px solid; BORDER-TOP: ...

有人能提供一个Java版的数字金额转换成大写金额的程序吗?

|
http://www.csdn.net/expert/topic/831/831257.xml?temp=.718075

|





转换大写金额

INPUT { BORDER-RIGHT: #c0d3dc 1px solid; BORDER-TOP: #c0d3dc 1px solid; BORDER-LEFT: #c0d3dc 1px solid; BORDER-BOTTOM: #c0d3dc 1px solid; font-family: verdana; HEIGHT: 19px}
BODY {font-family:arial,helvetica,Tahoma; font-size: 9pt; color:'094A82'}




            
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,-1)
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
     end if
     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
     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="http://go.163.com/yjsj/wav/0.wav"
           Case "壹"     document.all("bgsoundone").src="http://go.163.com/yjsj/wav/1.wav"
           Case "贰"     document.all("bgsoundone").src="http://go.163.com/yjsj/wav/2.wav"
           Case "叁"     document.all("bgsoundone").src="http://go.163.com/yjsj/wav/3.wav"
           Case "肆"     document.all("bgsoundone").src="http://go.163.com/yjsj/wav/4.wav"
           Case "伍"     document.all("bgsoundone").src="http://go.163.com/yjsj/wav/5.wav"
           Case "陆"     document.all("bgsoundone").src="http://go.163.com/yjsj/wav/6.wav"
           Case "柒"     document.all("bgsoundone").src="http://go.163.com/yjsj/wav/7.wav"
           Case "捌"     document.all("bgsoundone").src="http://go.163.com/yjsj/wav/8.wav"
           Case "玖"     document.all("bgsoundone").src="http://go.163.com/yjsj/wav/9.wav"
           Case "拾"     document.all("bgsoundone").src="http://go.163.com/yjsj/wav/10.wav"
           Case "佰"     document.all("bgsoundone").src="http://go.163.com/yjsj/wav/b.wav"
           Case "仟"     document.all("bgsoundone").src="http://go.163.com/yjsj/wav/q.wav"
           Case "万"     document.all("bgsoundone").src="http://go.163.com/yjsj/wav/w.wav"
           Case "亿"     document.all("bgsoundone").src="http://go.163.com/yjsj/wav/y.wav"
           Case "元"     document.all("bgsoundone").src="http://go.163.com/yjsj/wav/yuan.wav"
           Case "分"     document.all("bgsoundone").src="http://go.163.com/yjsj/wav/fen.wav"
           Case "角"     document.all("bgsoundone").src="http://go.163.com/yjsj/wav/jiao.wav"
           Case "整"     document.all("bgsoundone").src="http://go.163.com/yjsj/wav/z.wav"
           Case else     hji=0
                         document.all("bgsoundone").src=""
                         exit sub
    End Select
    hji=hji+1
   setTimeout "read",400
End Sub

最完整、最标准的大写金额转换程序,特别是“零”和“整”的转换,最大金额可到仟亿。     


并加入了朗读功能,所以说是最完美的大写金额转换程序!


如有BUG请高手指教!!!

  

请输入金额:  


  
  大写金额:



这个不错的,呵,你试试吧
《转》

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 拜托提供一下十六进制和十进制之间数据转换的代码
  • 我从没受过这份罪:要用Java(经研究用Applet合适)写一些小程序,如果我提供MFC代码,有人愿意帮我转换吗?
  • php获取访客ip地址原理及提供七段代码供参考
  • 诚征提供JSP个人免费主页的网站,鉴于公司代理限制,各位大虾晴多多提供,以便于选择!!!
  • ​Windows Server 2016提供Docker原生运行的企业级支持
  • 一般的tcpip实现都会提供ftp,telnet,daytime,以及time等基本服务,linux上提供13端口的daytime服务吗?
  • 公司提供培训福利,想参加UNIX方面的培训,各位大侠提供下建议!
  • fosdick_j (杰) 提供的SCJP资料我已经提供下载了,快来下呀~
  • tomcat提供连接池吗?
  • 高分征解(在线等待),有谁能提供DOS下双机互连的工具LanLink5.0 。
  • 谁能提供免费的存放空间?
  • Redhat系统提供的C头文件放在哪里?autoconf这个工具在哪可以弄到?
  • 两机提供Web服务的问题,请大侠指教,急!(三根鸡毛)
  • 谁能提供kgdb内核补丁内核模块的下载
  • 谁能提供tcpdump 的源码?谢谢了.
  • 有谁可以提供点linux下wifi驱动开发的资料不?
  • shell script能为c程序提供输入数据吗?
  • 有没有高手提供以下方法:要将在Graphics存储成本地图像文件,怎么办?
  • 我想开发一个LINUX下的telnet服务器软件,大侠能否提供源码或者是链接?
  • 请问JBulider 4的序列号谁知到?能否提供给小弟?谢谢
  • 哪里有免费的jsp空间提供?绝对给分
  • 谁能提供一份unicode表??
  • 哪位提供JBuilder最新版本的下载地址和注册码?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3