设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1386|回复: 3
打印 上一主题 下一主题

[模块/函数] 简明的数字转大写函数

[复制链接]
跳转到指定楼层
1#
发表于 2008-7-7 16:39:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
论坛上找的数字转大写函数,根据自己需要,增加了部分功能,也算是狗尾续貂吧,与大家分享.



Public Function URmb(ByVal Money As Double) As String '取得数字的汉字大写
   Dim Intlen As Integer
   Dim i As Integer
   Dim strMoney As String
   Dim bnlFu As Boolean
   
   If Money < 0 Then '如果金额小于零,则标志变量为"真"
      bnlFu = True
   End If
   
   Money = Abs(Money) '取绝对值
   If Money < 0.005 Then '如果小于5厘,则以零计
      URmb = "RMB零分"
      Exit Function
   End If
   
   If Money >= 0.005 And Money < 0.01 Then '5厘和壹分之间以壹分计
      If bnlFu = False Then
         URmb = "RMB壹分"
      Else
         URmb = "RMB负壹分"
      End If
      Exit Function
   End If

   strMoney = Format(Money, "#.##") * 100
   Intlen = Len(strMoney)
   If Intlen > 14 Then
      URmb = Format(Money, "#.##")
      Exit Function
   End If
   For i = 1 To Intlen
      URmb = Mid("零壹贰叁肆伍陆柒捌玖", Mid(strMoney, Intlen + 1 - i, 1) + 1, 1) _
               & Mid("分角元拾佰仟万拾佰仟亿拾佰仟", i, 1) & URmb
   Next
   
   If bnlFu = True Then '加上负数标记
      URmb = "RMB负" & URmb
   Else
      URmb = "RMB" & URmb
   End If
End Function

[ 本帖最后由 rcylbx 于 2008-7-7 16:40 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2008-7-7 16:49:52 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
3#
 楼主| 发表于 2008-7-7 16:55:09 | 只看该作者
不好意思,对财务制度还是不太清楚,需要继续学习

点击这里给我发消息

4#
发表于 2008-7-7 17:11:17 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-6-4 22:31 , Processed in 0.091204 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表