VB实现数字到中文金额的转换函数

Private Function NMoneyToSMoney ( NMoney As Variant )   As String
      If IsNumeric ( NMoney )     =   False Then
            NMoneyToSMoney   =   "不是数字类型"
            Exit Function
      End If
      Dim BasicDWString As String, BasicDW (   )   As String
      Dim MoneyDWString As String, MoneyDW (   )   As String
      Dim MoneyStr As String, ReturnStr As String, TempStr As String
      BasicDWString   =   "分,角,圆,拾,佰,仟,万,拾,佰,仟,亿,拾,佰,仟,万亿,兆,拾,佰,仟,万,亿"
      MoneyDWString   =   "零,壹,贰,叁,肆,伍,陆,柒,捌,玖"
      BasicDW   =   Split ( BasicDWString, "," )  
      MoneyDW   =   Split ( MoneyDWString, "," )  
      MoneyStr   =   Format ( NMoney, "0.00" )  
      MoneyStr   =   Replace ( MoneyStr, ".", "" )  
      StrLen   =   Len ( MoneyStr )  
      ReturnStr   =   ""
      For X   =   0 To StrLen - 1
            TempStr   =   Mid ( MoneyStr, StrLen - X, 1 )  
            ReturnStr   =   MoneyDW ( TempStr )   & BasicDW ( X )   & ReturnStr
      Next X
      ReturnStr   =   Replace ( ReturnStr, "零分", "" )  
      ReturnStr   =   Replace ( ReturnStr, "零角", "" )  
      ReturnStr   =   Replace ( ReturnStr, "零拾", "零" )  
      ReturnStr   =   Replace ( ReturnStr, "零佰", "零" )  
      ReturnStr   =   Replace ( ReturnStr, "零仟", "零" )  
      ReturnStr   =   Replace ( ReturnStr, "零万", "零" )  
      Do
            ReturnStr   =   Replace ( ReturnStr, "零零", "零" )  
      Loop While InStr ( ReturnStr, "零零" )   <> 0
      ReturnStr   =   Replace ( ReturnStr, "零圆", "圆" )  
      If Right ( ReturnStr, 1 )   <> "圆" Then
            ReturnStr   =   Replace ( ReturnStr, "圆", "零" )  
            ReturnStr   =   ReturnStr & "圆"
      End If
      ReturnStr   =   ReturnStr & "整"
      NMoneyToSMoney   =   ReturnStr
End Function


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值