• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    數字向中文轉換

    發布: 2007-5-25 09:19 | 作者: shawls | 來源: 互聯網 | 查看: 28次 | 進入軟件測試論壇討論

    領測軟件測試網

    Public Function ChinaNum(ByVal Num As String) As String
    On Error GoTo ChinaNumErr
    ChinaNum = ""

    Dim str_tmp_CN As String
    Dim str_tmp_ZS As String
    Dim str_tmp_XS As String
    Dim I As Long

    If VBA.Trim(Num) = "" Then
        GoTo ChinaNumErr
    End If

    For I = 1 To VBA.Len(Num) Step 1
         Select Case VBA.Mid$(Num, I, 1)
             Case "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "."
             Case Else
                  GoTo ChinaNumErr
         End Select
    Next I

    If Num Like "*.*" Then
        If Num Like "*.*.*" Then
            GoTo ChinaNumErr
        End If
        I = VBA.InStr(1, Num, ".", vbTextCompare)
        str_tmp_ZS = VBA.Left(Num, I - 1)
        str_tmp_XS = VBA.Right(Num, VBA.Len(Num) - I)


        str_tmp_ZS = zsTOstr(str_tmp_ZS)
        str_tmp_XS = xsTOstr(str_tmp_XS)
       
       
        If str_tmp_ZS = "" Then
            str_tmp_CN = "零"
        Else
            str_tmp_CN = str_tmp_ZS
        End If

        If str_tmp_XS <> "" Then
            str_tmp_CN = str_tmp_CN & "點" & str_tmp_XS
        End If

    End If
    GoTo ChinaNumOK

    ChinaNumOK:
        If str_tmp_CN <> "" Then
            Let ChinaNum = str_tmp_CN
        Else
            GoTo ChinaNumErr
        End If
        GoTo ChinaNumExit

    ChinaNumErr:
        Err.Clear
        ChinaNum = ""
        GoTo ChinaNumExit
       
    ChinaNumExit:
        'clear all money
        str_tmp_CN = ""
        str_tmp_ZS = ""
        str_tmp_XS = ""
        I = 0
        Exit Function
       
    End Function

    Private Function zsTOstr(ByVal str_ZS As String) As String
    On Error GoTo zsTOstrErr
         If Not IsNumeric(str_ZS) Or str_ZS Like "*.*" Or str_ZS Like "*-*" Then
              If Trim(str_ZS) <> "" Then
                  GoTo zsTOstrErr
              End If
         End If
        
         If VBA.Len(str_ZS) > 16 Then
             Let str_ZS = VBA.Left(str_ZS, 16)
         End If
        
         Dim intLen As Integer, intCounter As Integer
         Dim strCh As String, strTempCh As String
         Dim strSeqCh1 As String, strSeqCh2 As String
         Dim str_ZS2Ch As String
         str_ZS2Ch = "零壹貳叁肆伍陸柒捌玖"
         strSeqCh1 = " 拾佰仟 拾佰仟 拾佰仟 拾佰仟"
         strSeqCh2 = " 萬億兆"
         str_ZS = CStr(CDec(str_ZS))
         intLen = Len(str_ZS)
         For intCounter = 1 To intLen
              strTempCh = Mid(str_ZS2Ch, Val(Mid(str_ZS, intCounter, 1)) + 1, 1)
              If strTempCh = "零" And intLen <> 1 Then
                   If Mid(str_ZS, intCounter + 1, 1) = "0" Or (intLen - intCounter + 1) Mod 4 = 1 Then
                        strTempCh = ""
                   End If
              Else
                   strTempCh = strTempCh & Trim(Mid(strSeqCh1, intLen - intCounter + 1, 1))
              End If
              If (intLen - intCounter + 1) Mod 4 = 1 Then
                   strTempCh = strTempCh & Mid(strSeqCh2, (intLen - intCounter + 1) \ 4 + 1, 1)
                   If intCounter > 3 Then
                        If Mid(str_ZS, intCounter - 3, 4) = "0000" Then strTempCh = Left(strTempCh, Len(strTempCh) - 1)
                  End If
              End If
              strCh = strCh & Trim(strTempCh)
         Next
         GoTo zsTOstrOK

    zsTOstrOK:
        Let zsTOstr = strCh
        GoTo zsTOstrExit

    zsTOstrErr:
        Err.Clear
        zsTOstr = ""
        GoTo zsTOstrExit

    zsTOstrExit:
        strCh = ""
        intLen = 0
        intCounter = 0
        strTempCh = ""
        strSeqCh1 = ""
        strSeqCh2 = ""
        str_ZS2Ch = ""
        Exit Function

    End Function

    Private Function xsTOstr(ByVal str_XS As String) As String
    On Error GoTo xsTOstrErr
         If Not IsNumeric(str_XS) Or str_XS Like "*.*" Or str_XS Like "*-*" Then
              If Trim(str_XS) <> "" Then
                  GoTo xsTOstrErr
              End If
         End If
        
         If VBA.Len(str_XS) > 20 Then
             GoTo xsTOstrErr
         End If
        
         Dim str_TH As String
         str_TH = "零壹貳叁肆伍陸柒捌玖"
        
         Dim I As Long
         Dim str_tmp_XS As String
        
         For I = 1 To VBA.Len(str_XS) Step 1
             str_tmp_XS = str_tmp_XS & VBA.Mid(str_TH, VBA.CInt(VBA.Mid(str_XS, I, 1)) + 1, 1)
         Next I
        
         If str_tmp_XS = "" Then
             GoTo xsTOstrErr
         End If
        
         GoTo xsTOstrOK

    xsTOstrOK:
        Let xsTOstr = str_tmp_XS
        GoTo xsTOstrExit

    xsTOstrErr:
        Err.Clear
        xsTOstr = ""
        GoTo xsTOstrExit

    xsTOstrExit:
        str_TH = ""
        I = 0
        str_tmp_XS = ""
        Exit Function

    End Function


           以上代碼來自: SourceCode Explorer(源代碼數據庫)
               復制時間: 2002-06-12 19:27:13
               當前版本: 1.0.705
                   作者: Shawls
               個人主頁: Http://Shawls.Yeah.Net
                 E-Mail: ShawFile@163.Net
                     QQ: 9181729

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>