惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - Franky
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
L
LangChain Blog
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
AI
AI
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
Attack and Defense Labs
Attack and Defense Labs

博客园 - 奇远

网络记事本 用google检索email 读注册表 - 奇远 - 博客园 Crystal Report 部署 按钮控件数组 读写xml - 奇远 - 博客园 vb.net发邮件 - 奇远 - 博客园 VB.NET程序只能启动一次 - 奇远 - 博客园 dataset遍历表中的数据 - 奇远 - 博客园 vb.net自定义纸张大小 - 奇远 - 博客园 怎样使用水晶报表的推模式? SQL查询语句精华使用简要 vb.net事务处理 各种连接字符串设置 CREATE PROCEDURE 中文转换成拼音函数 运行时动态添加和删除控件 VB类Class设计 VB读写注册表
将数字串转换为中文金额字符串
奇远 · 2006-08-27 · via 博客园 - 奇远

 '*************************************************************************************************************

    Public Function ConvCap(ByVal valstr) As String
        ConvCap = Choose(Val(valstr) + 1, "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖")
    End Function
    '**************************************************************************
    '函数用途:将数字串转换为中文金额字符串
    '入口参数:Digital 要转换的数字串
    '返回参数:中文金额字符串
    '限制:Digital小于1亿
    '*************************************************************************
    Public Function ConvToMoney(ByVal Digital As String) As String
        Dim strChi(11), strDig(10) As String
        Dim stmp, rsStr As String
        Dim lenStr As Byte
        Dim laststr As String
        'Dim DigiToChi As String


        If Not IsNumeric(Digital) Then
            ConvToMoney = ""
            Exit Function
        End If

        If Val(Format(Digital)) < 0 Then
            Digital = Trim(Str(Abs(Val(Format(Digital)))))
            laststr = "整(负)"
        Else
            laststr = "整"
        End If

        strChi(0) = "分"
        strChi(1) = "角"
        strChi(2) = "元"
        strChi(3) = "拾"
        strChi(4) = "佰"
        strChi(5) = "仟"
        strChi(6) = "万"
        strChi(7) = "拾"
        strChi(8) = "佰"
        strChi(9) = "仟"
        strChi(10) = "亿"
        strDig(0) = "零"
        strDig(1) = "壹"
        strDig(2) = "贰"
        strDig(3) = "叁"
        strDig(4) = "肆"
        strDig(5) = "伍"
        strDig(6) = "陆"
        strDig(7) = "柒"
        strDig(8) = "捌"
        strDig(9) = "玖"
        Dim DigiToChi As String
        stmp = Digital
        If (Len(stmp) = 0) Or (Len(stmp) > 11) Then
            DigiToChi = ""
            Exit Function
        End If
        stmp = Format(stmp, "########.00")
        If Len(stmp) > 11 Then
            DigiToChi = ""
            Exit Function
        End If

        lenStr = Len(stmp)


        rsStr = strDig(Val(Mid(stmp, lenStr - 1, 1))) & strChi(1) & strDig(Val(Right(stmp, 1))) & strChi(0)
        stmp = Left(stmp, Len(stmp) - 3)
        Dim I, d As Byte
        Dim blnZero As Boolean
        Dim stmprv, dstr As String

        For I = 1 To Len(stmp)
            stmprv = Mid(stmp, I, 1) & stmprv
        Next

        For I = 1 To Len(stmprv)
            d = Val(Mid(stmprv, I, 1))
            If d = 0 Then
                If I = 1 Or I = 5 Then
                    dstr = strChi(I + 1)
                Else
                    If Not blnZero Then
                        dstr = strDig(0)
                    Else
                        dstr = ""
                    End If
                End If
                blnZero = True
            Else
                dstr = strDig(d) & strChi(I + 1)
                blnZero = False
            End If
            rsStr = dstr + rsStr
        Next
        ConvToMoney = rsStr & laststr
    End Function

    Public Function GetBitStr(ByVal valstr As String, ByVal pos As Integer) As String
        Select Case pos
            Case 1
                GetBitStr = ConvCap(valstr) + "元"
            Case 2
                GetBitStr = ConvCap(valstr) + "拾"
            Case 3
                GetBitStr = ConvCap(valstr) + "百"
            Case 4
                GetBitStr = ConvCap(valstr) + "千"
            Case 5
                GetBitStr = ConvCap(valstr) + "万"
            Case 6
                GetBitStr = ConvCap(valstr) + "十万"
            Case 7
                GetBitStr = ConvCap(valstr) + "百万"
            Case 8
                GetBitStr = ConvCap(valstr) + "千万"
            Case 9
                GetBitStr = ConvCap(valstr) + "亿"
            Case -1
                GetBitStr = ConvCap(valstr) + "角"
            Case -2
                GetBitStr = ConvCap(valstr) + "分"
        End Select
    End Function