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 = cmone0End Function

解决方案 »

  1.   

    能否解释一下
    mone0 = Format(jiner0, "00000.00")
    mone1 = Mid(mone0, 1, 5) + Mid(mone0, 7, 2)
    mone1 = Trim(mone1)
    中,format函数的用法,还有Mid(mone0, 7, 2)怎么取值,还有trim的用法
    谢谢!
      

  2.   

    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 的话则会。
      

  3.   

    Mid(mone0, 7, 2)这句是从字符串mone0中第7个字符开始,取出长为2的字符串。Trim函数去掉字符串前后的空字符.
      

  4.   

    mone0 = Format(jiner0, "00000.00")jinner0的输入有可能不规范,用mone0将jinner0的格式固定成为0000.00
    如果jinner0比0000.00短的话,就会补0
    如果jinner0比0000.00长的话,整数部分不变,小数部分四舍五入这样便于后面对mone0进行处理
      

  5.   

    强烈建议楼主去查MSDN,所有的疑问都有答案了
    而且会比较全面,特别是具体的一个函数什么的,如trim,format等
      

  6.   

    我觉得你这样学习VB完全不对路子!!!!首先你起码得有一个VB的帮助工具,MSDN没有的话,这个也行:"C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\2052\VBUI6.CHM";打好基本功先。
      

  7.   

    恩,没有MSDN的话是很难进步的。平时我们遇到的问题很多都可以在MSDN里找到答案。不夸张的说,有了MSDN+CSDN,你可以不用再买参考书咯,呵呵