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

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

'调用按钮的代码:

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航