Notes中人民币大写换算的实现

'调用按钮的代码:
Sub Click(Source As Button)
 Dim w As New notesUIWorkspace 
 Dim ui As notesUIdocument
 Dim jineStr As String
 
 Set ui = w.currentDocument
 Call ui.refresh
 jineStr = ui.fieldGetText("jine")
 Call ui.fieldSetText("dxje",TurnResult(jineStr))
 Call ui.refresh
End Sub


'换算函数
Function TurnResult(numStr As String) As String
 Dim digi As Integer
 Dim numLen As Integer
 
 numLen = Len(numStr)
 intStr = Left(numStr,(numLen - 3))  '取整数部分
 digStr = Right(numStr,2)    '取小数部分
 
 numLen = Len(intStr)
 digi_old = 9
 '处理整数部分转换
 While numLen <> 0
  digi = Cint(Left(intStr,1))
  If numLen<5 Then  '完元以下的换算
   If digi_old = 0 And digi = 0 And numLen<>1 Then
    TurnResult = TurnResult
   Else
    If digi = 0 And numLen <> 1 Then
     TurnResult = TurnResult + numToBigWrite(digi)
    Elseif digi = 0 And digi_old = 0 And numLen = 1  Then
     TurnResult = Left(TurnResult,Len(TurnResult)-1) + Unit(numLen)
    Elseif digi = 0 And digi_old <> 0 And numLen = 1  Then
     TurnResult = TurnResult + Unit(numLen)
    Else
     TurnResult = TurnResult + numToBigWrite(digi) + Unit(numLen)
    End If
   End If
  Else     '万元以上的换算
   If digi_old = 0 And digi = 0 And numLen<>5 Then
    TurnResult = TurnResult
   Else
    If digi = 0 And numLen <> 5 Then
     TurnResult = TurnResult + numToBigWrite(digi)
    Elseif digi = 0 And digi_old = 0 And numLen = 5  Then
     TurnResult = Left(TurnResult,Len(TurnResult)-1) + Unit(numLen)
    Elseif digi = 0 And digi_old <> 0 And numLen = 5  Then
     TurnResult = TurnResult + Unit(numLen)
    Else
     TurnResult = TurnResult + numToBigWrite(digi) + Unit(numLen)
    End If
   End If
  End If
  
  digi_old = digi
  intStr = Right(intStr,numLen - 1)
  numLen = Len(intStr)
 Wend
 '小数部分的数值转换
 TurnResult = TurnResult + numToBigWrite(Cint(Left(digStr,1))) + Unit(-1) + _
 numToBigWrite(Cint(Right(digStr,1))) + Unit(-2) + "整"
 
End Function


'单位转换函数
Function Unit(bit As Integer) As String
 Select Case bit
 Case -1
  Unit="角"
 Case -2
  Unit="分"
 Case 1
  Unit="元"
 Case 2
  Unit="拾"
 Case 3
  Unit="佰"
 Case 4
  Unit="仟"
 Case 5
  Unit="万"
 Case 6
  Unit="拾" 
 Case 7
  Unit="佰"
 Case 8
  Unit="仟"  
 Case 9
  Unit="亿"
 Case Else
  Unit="无效"+Cstr(bit)
 End Select 
End Function

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值