将阿拉伯数字转换为汉字数字,支持到百万亿
时 间:2008-03-10 07:51:14
作 者:UMVSOFT整理 ID:16 城市:江阴
摘 要:将阿拉伯数字转换为汉字数字,支持到百万亿
正 文:
'Debug.Print UpNumber(-10556765765555.45,0,True )
'显示为:
'负壹拾万伍仟伍佰陆拾柒亿陆仟伍佰柒拾陆万伍仟伍佰伍拾伍圆肆角零分
Public Function UpNumber(ByVal Number As Double, Optional ByVal Typ As Long, Optional ByVal IsMoney As Boolean) As String
'********************************************************************************
'--------------------------------------------------------------------------------
'将阿拉伯数字转换为大写字符串
'Version 1.0 2002-02-06
'Version 1.1 2002-04-05 修改到支持到千亿
'Version 1.2 2004-08-14 修改为支持 Typ,IsMoney 参数,转换结果可以不是金额,支持到百万亿
'Roadbeg
'--------------------------------------------------------------------------------
'
'--------------------------------------------------------------------------------
'参数说明:
'Number 待转换的数字,可以是小数.
'Typ 转换类型,可选值 0,1
'0 转换为 零,壹,贰 等
'1 转换为 一,二,三 等
'IsMoney 是否是金额,如果是,则转换为多少元,小数后转换为多少角,分,反之则转换为类似于"二点三"这种形式
'--------------------------------------------------------------------------------
'
'--------------------------------------------------------------------------------
'返回值说明:
'如果成功,返回转换后的字符串
'如果失败,返回空字符串
'--------------------------------------------------------------------------------
'
'--------------------------------------------------------------------------------
'注意,此函数最大只支持到百万亿
'没有对 Typ 的值进行检查,如果 Typ 不为 0,1 之一,将会引发错误.
'另,由于 Double 类型数值范围的原因,超过百万亿,将不能显示小数,同样的超过十万亿只能显示一个小数,以此类推.
'--------------------------------------------------------------------------------
'********************************************************************************
On Error GoTo Doerr
Dim Result As String '返回值
Dim strNumber As String '文本型的 Number
Dim lngNumberLen As Long '文本型的 Number 的 Len
Dim strTmp As String
Dim strFirst As String, strEnd As String
Dim lngI As Long, lngJ As Long, lngTmp As Long
Dim strNum(10) As String '大写数字
Dim strUnit(16) As String '单位,比如 十,拾,万等
Dim strUnitB(2) As String '小数后的单位
'初始化
Select Case Typ
Case 0
strNum(0) = "零": strNum(1) = "壹": strNum(2) = "贰": strNum(3) = "叁": strNum(4) = "肆"
strNum(5) = "伍": strNum(6) = "陆": strNum(7) = "柒": strNum(8) = "捌": strNum(9) = "玖"
If IsMoney Then
strUnit(0) = "圆"
计算机教程将阿拉伯数字转换为汉字数字,支持到百万亿来自www.itwen.comIT WEN计算机教程网
strUnitB(0) = "角": strUnitB(1) = "分"
Else
strUnit(0) = "点"
End If
strUnit(1) = "拾": strUnit(2) = "佰": strUnit(3) = "仟": strUnit(4) = "万"
strUnit(5) = "拾": strUnit(6) = "佰": strUnit(7) = "仟": strUnit(8) = "亿": strUnit(9) = "拾"
strUnit(10) = "佰": strUnit(11) = "仟": strUnit(12) = "万": strUnit(13) = "拾": strUnit(14) = "佰"
strUnit(15) = "仟"
Case 1
strNum(0) = "零": strNum(1) = "一": strNum(2) = "二": strNum(3) = "三": strNum(4) = "四"
strNum(5) = "五": strNum(6) = "六": strNum(7) = "七": strNum(8) = "八": strNum(9) = "九"
If IsMoney Then
strUnit(0) = "元"
strUnitB(0) = "角": strUnitB(1) = "分"
Else
strUnit(0) = "点"
End If
strUnit(1) = "十": strUnit(2) = "百": strUnit(3) = "千": str
Access软件网官方交流QQ群 (群号:54525238)
Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)
- 微软Access邀测新Monaco...(11.12)
- Access列表框左右互选、列表框...(11.11)
- 高效率在导入数据前删除记录(11.10)
- Access报价单转订单示例代码(11.08)
- Access系统自带的日期选择器不...(11.08)
- 分享一下Access工程中的acw...(11.07)