设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[其它] 如何转金额大写?

[复制链接]
跳转到指定楼层
1#
发表于 2006-5-15 20:09:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
数值如何转金额大写?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-5-15 20:21:00 | 只看该作者
用“大写”搜索旧贴。
3#
发表于 2006-5-15 22:56:00 | 只看该作者
可以用下面的程序

Function PIsLoaded(ByVal strFormName As String) As Integer
' Returns True if the specified form is open in Form view or Datasheet view.
  'DoCmd.DoMenuItem acFormBar, acToolMenu, acSaveRecord, , acMenuVer70
    Const conObjStateClosed = 0
    Const conDesignView = 0
   
    If SysCmd(acSysCmdGetObjectState, acForm, strFormName) <> conObjStateClosed Then
        If Forms(strFormName).CurrentView <> conDesignView Then
            PIsLoaded = True
        End If
    End If
   
End Function

Private Function cch(n1) As String
    Select Case n1
    Case 0:        cch = "零"
    Case 1:        cch = "壹"
    Case 2:        cch = "贰"
    Case 3:        cch = "叁"
    Case 4:        cch = "肆"
    Case 5:        cch = "伍"
    Case 6:        cch = "陆"
    Case 7:        cch = "柒"
    Case 8:        cch = "捌"
    Case 9:        cch = "玖"
    End Select
End Function


'名称: ChMoney
'       得到数字 N1 的汉字大写
'       最大为 千亿
'       O 返回 ""
Public Function ChMoney(n1) As String
    Dim tMoney As String
    Dim lMoney As String
    Dim tn    '小数位置
    Dim s1 As String    '临时STRING 小数部分
    Dim s2 As String    '1000 以内
    Dim s3 As String    '10000
    Dim s4 As String
     Dim s5 As String
    Dim s As String



    If n1 = 0 Then
        ChMoney = " "
        Exit Function
    End If
    If n1 < 0 Then
        ChMoney = "负" + ChMoney(Abs(n1))
        Exit Function
    End If
    tMoney = Trim(Str(n1))

    tn = InStr(tMoney, ".")  '小数位置
    s1 = ""
    If tn = 0 Then    '角分为零,
        s1 = "整"
    End If

    If tn <> 0 Then
        ST1 = Right(tMoney, Len(tMoney) - tn)    '小数
        If ST1 <> "" Then
            T1 = Left(ST1, 1)
            ST1 = Right(ST1, Len(ST1) - 1)
            If T1 <> "0" And ST1 <> "" Then
                s1 = s1 + cch(Val(T1)) + "角"
            End If
            If T1 <> "0" And ST1 = "" Then    '角位不为零,分位为零
                s1 = s1 + cch(Val(T1)) + "角整"
            End If

            If T1 = "0" And ST1 <> "" Then    '角位为零时
                s1 = s1 + cch(Val(T1))
            End If

            If ST1 <> "" Then
                T1 = Left(ST1, 1)
                s1 = s1 + cch(Val(T1)) + "分"
            End If
        End If
'=============================================================================
            '以上是小数的转换

        ST1 = Left(tMoney, tn - 1)
    Else
        ST1 = tMoney
    End If


    s2 = ""
    If ST1 <> "" Then
        T1 = Right(ST1, 1)
        ST1 = Left(ST1, Len(ST1) - 1)
        s2 = cch(Val(T1)) + s2
    End If
'元
    If ST1 <> "" Then
        T1 = Right(ST1, 1)
        ST1 = Left(ST1, Len(ST1) - 1)
        If T1 <> "0" Then
            s2 = cch(Val(T1)) + "拾" + s2
        Else
            If Left(s2, 1) <> "零" Then s2 = "零" + s2
        End If
    End If
'十
    If ST1 <> "" Then
        T1 = Right(ST1, 1)
        ST1 = Left(ST1, Len(ST1) - 1)
        If T1 <> "0" Then
            s2 = cch(Val(T1)) + "佰" + s2
        Else
            If Left(s2, 1) <> "零" Then s2 = "零" + s2
        End If
    End If
'百
    If ST1 <> "" Then
        T1 = Right(ST1, 1)
        ST1 = Left(ST1, Len(ST1) - 1)
        If T1 <> "0" Then
            s2 = cch(Val(T1)) + "仟" + s2
        Else
            If Left(s2, 1) <> "零" Then s2 = "零" + s2
        End If
    End If
'千
'============================================================================
    s3 = ""
    If ST1 <> "" Then
        T1 = Right(ST1, 1)
        ST1 = Left(ST1, Len(ST1) - 1)
        s3 = cch(Val(T1
4#
发表于 2006-5-15 23:02:00 | 只看该作者

再来一个例子


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
5#
发表于 2006-5-17 19:07:00 | 只看该作者

回复:(yangxiang)如何转金额大写?

是代码写的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-25 06:07 , Processed in 0.116620 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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