请问这段程序是为了实现什么功能?
Public Function Cmoney(jiner0 As Currency)
Dim mone0 As String
Dim mone1 As String
Dim ii As Integer
Dim monelen1 As Integer
Dim rmb As String
Dim cmone0 As String
Dim numb0 As String
mone0 = Format(jiner0, "00000.00")
ii = 1
mone1 = Mid(mone0, 1, 5) + Mid(mone0, 7, 2)
mone1 = Trim(mone1)
monelen1 = Len(mone1)
Select Case monelen1
Case 1
rmb = "分"
Case 2
rmb = "角分"
Case 3
rmb = "元角分"
Case 4
rmb = "拾元角分"
Case 5
rmb = "佰拾元角分"
Case 6
rmb = "仟佰拾元角分"
Case 7
rmb = "万仟佰拾元角分"
End Select
cmone0 = ""
While ii < Len(mone1) + 1
numb0 = Mid(mone1, ii, 1)
Select Case numb0
Case " "
cmone0 = cmone0 & "零"
Case "0"
cmone0 = cmone0 & "零"
Case "1"
cmone0 = cmone0 & "壹"
Case "2"
cmone0 = cmone0 & "贰"
Case "3"
cmone0 = cmone0 & "叁"
Case "4"
cmone0 = cmone0 & "肆"
Case "5"
cmone0 = cmone0 & "伍"
Case "6"
cmone0 = cmone0 & "陆"
Case "7"
cmone0 = cmone0 & "柒"
Case "8"
cmone0 = cmone0 & "捌"
Case "9"
cmone0 = cmone0 & "玖"
End Select
cmone0 = cmone0 & Mid(rmb, (ii - 1) * 1 + 1, 1)
ii = ii + 1
Wend
Cmoney = cmone0
End Function
问题点数:10、回复次数:15Top
1 楼TechnoFantasy((VB MVP)www.applevb.com)回复于 2005-02-04 13:50:37 得分 1
将数字转换为大写的程序Top
2 楼samwzhang(分全给我)回复于 2005-02-04 13:53:07 得分 1
转换小写格式的货币符号为大写格式。Top
3 楼awaww(awaww)回复于 2005-02-04 13:53:56 得分 0
能否解释一下
mone0 = Format(jiner0, "00000.00")
mone1 = Mid(mone0, 1, 5) + Mid(mone0, 7, 2)
mone1 = Trim(mone1)
中,format函数的用法,还有Mid(mone0, 7, 2)怎么取值,还有trim的用法
谢谢!
Top
4 楼flyingZFX(卍 南无阿弥陀佛 卍)回复于 2005-02-04 14:22:58 得分 1
将数字转换为大写的程序
Top
5 楼normandj(norman)回复于 2005-02-04 14:32:36 得分 1
将数字转换为大写的程序
Top
6 楼dlyme(大老爷们儿)回复于 2005-02-04 14:36:40 得分 5
Format 函数
返回 Variant (String),其中含有一个表达式,它是根据格式表达式中的指令来格式化的。
语法
Format(expression[, format[, firstdayofweek[, firstweekofyear]]])
Format 函数的语法具有下面几个部分:
部分 说明
expression 必要参数。任何有效的表达式。
format 可选参数。有效的命名表达式或用户自定义格式表达式。
firstdayofweek 可选参数。常数,表示一星期的第一天。
firstweekofyear 可选参数。常数,表示一年的第一周。
设置值
firstdayofweek 参数有下面设置:
常数 值 说明
vbUseSystem 0 使用 NLS API 设置。
VbSunday 1 星期日(缺省)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
firstweekofyear 参数有下面设置:
常数 值 说明
vbUseSystem 0 使用 NLS API 设置。
vbFirstJan1 1 从包含一月一日的那一周开始(缺省)。
vbFirstFourDays 2 从本年第一周开始,而此周至少有四天在本年中。
VbFirstFullWeek 3 从本年第一周开始,而此周完全在本年中。
说明
格式化 作法
数字 使用预先定义的命名数值格式或创建用户自定义数值格式。
日期和时间 使用预先定义的命名日期/时间格式或创建用户自定义日期/时间格式。
日期和时间序数 使用日期和时间格式或数值格式。
字符串 创建自定义的字符串格式。
如果在格式化数字时没有指定 format,Format 会提供与 Str 函数类似的功能,尽管它是国际化的。然而,以 Format 作用在正数上不会保留正负号空间,而以 Str 的话则会。
Top
7 楼dlyme(大老爷们儿)回复于 2005-02-04 14:38:55 得分 0
Mid(mone0, 7, 2)这句是从字符串mone0中第7个字符开始,取出长为2的字符串。
Trim函数去掉字符串前后的空字符.Top
8 楼ffs(薄暮之魂)回复于 2005-02-04 14:50:15 得分 1
mone0 = Format(jiner0, "00000.00")
jinner0的输入有可能不规范,用mone0将jinner0的格式固定成为0000.00
如果jinner0比0000.00短的话,就会补0
如果jinner0比0000.00长的话,整数部分不变,小数部分四舍五入
这样便于后面对mone0进行处理Top
9 楼awaww(awaww)回复于 2005-02-04 14:55:36 得分 0
明白了,多谢大虾!
Top
10 楼kmzs(.:RNPA:.山水岿濛)回复于 2005-02-04 15:31:46 得分 0
将数字转换为大写货币的程序,似乎是开发票用的。。。。。。。。。。。。。Top
11 楼Dickson(沧海冷心)回复于 2005-02-04 21:18:57 得分 0
FORMAT是格式化啊。。。Top
12 楼FEEDOMING(小不点)回复于 2005-02-04 22:07:49 得分 0
强烈建议楼主去查MSDN,所有的疑问都有答案了
而且会比较全面,特别是具体的一个函数什么的,如trim,format等Top
13 楼tsuihan(Hanks)回复于 2005-02-05 00:43:10 得分 0
我觉得你这样学习VB完全不对路子!!!!
首先你起码得有一个VB的帮助工具,MSDN没有的话,这个也行:"C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\2052\VBUI6.CHM";打好基本功先。Top
14 楼tmd007(学而时习之,不亦乐乎。姓菜名了字灌之号蹭之。)回复于 2005-02-05 10:07:16 得分 0
应该从基础学起
Top
15 楼mycatlove(冰湖小生)回复于 2005-02-06 14:46:32 得分 0
恩,没有MSDN的话是很难进步的。平时我们遇到的问题很多都可以在MSDN里找到答案。不夸张的说,有了MSDN+CSDN,你可以不用再买参考书咯,呵呵Top




