中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 综合其他 > 其他资料
Notes中人民币大写换算的实现
作者:davidnim 时间:2002-01-21 12:07 出处:互联网 责编:chinaitpower
              摘要: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

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有