数字转大写英文

it2022-05-05  143

'此过程为西人所写,谨推荐给大家.      '****************' Main Function *'**************** Function SayUSD(ByVal MyNumber)     Dim Dollars, Cents, Temp     Dim DecimalPlace, Count     ReDim Place(9) As String     Application.Volatile True     Place(2) = " Thousand "     Place(3) = " Million "     Place(4) = " Billion "     Place(5) = " Trillion "     ' String representation of amount     MyNumber = Trim(Str(MyNumber))     ' Position of decimal place 0 if none     DecimalPlace = InStr(MyNumber, ".")     'Convert cents and set MyNumber to dollar amount     If DecimalPlace > 0 Then         Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2))         MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))         End If     Count = 1     Do While MyNumber <> ""        Temp = GetHundreds(Right(MyNumber, 3))        If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars           If Len(MyNumber) > 3 Then              MyNumber = Left(MyNumber, Len(MyNumber) - 3)              Else             MyNumber = ""             End If             Count = Count + 1             Loop     Select Case Dollars         Case ""             Dollars = "No Dollars"         Case "One"             Dollars = "One Dollar"         Case Else             Dollars = Dollars & " Dollars"     End Select     Select Case Cents         Case ""             Cents = ""         Case "One"             Cents = " and One Cent"         Case Else             Cents = " and " & Cents & " Cents"     End Select     SayUSD = Dollars & Cents     End Function '******************************************* ' Converts a number from 100-999 into text * '******************************************* Function GetHundreds(ByVal MyNumber)     Dim Result As String     If Val(MyNumber) = 0 Then Exit Function     MyNumber = Right("000" & MyNumber, 3)     'Convert the hundreds place     If Mid(MyNumber, 1, 1) <> "0" Then         Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "         End If     'Convert the tens and ones place     If Mid(MyNumber, 2, 1) <> "0" Then         Result = Result & GetTens(Mid(MyNumber, 2))         Else         Result = Result & GetDigit(Mid(MyNumber, 3))         End If     GetHundreds = Result     End Function '********************************************* ' Converts a number from 10 to 99 into text. * '********************************************* Function GetTens(TensText)     Dim Result As String     Result = ""           'null out the temporary function value     If Val(Left(TensText, 1)) = 1 Then   ' If value between 10-19         Select Case Val(TensText)         Case 10: Result = "Ten"             Case 11: Result = "Eleven"             Case 12: Result = "Twelve"             Case 13: Result = "Thirteen"             Case 14: Result = "Fourteen"             Case 15: Result = "Fifteen"             Case 16: Result = "Sixteen"             Case 17: Result = "Seventeen"             Case 18: Result = "Eighteen"             Case 19: Result = "Nineteen"             Case Else             End Select       Else                                 ' If value between 20-99         Select Case Val(Left(TensText, 1))             Case 2: Result = "Twenty "             Case 3: Result = "Thirty "             Case 4: Result = "Forty "             Case 5: Result = "Fifty "             Case 6: Result = "Sixty "             Case 7: Result = "Seventy "             Case 8: Result = "Eighty "             Case 9: Result = "Ninety "             Case Else         End Select          Result = Result & GetDigit _             (Right(TensText, 1))  'Retrieve ones place             End If       GetTens = Result       End Function '******************************************* ' Converts a number from 1 to 9 into text. * '******************************************* Function GetDigit(Digit)     Select Case Val(Digit)         Case 1: GetDigit = "One"         Case 2: GetDigit = "Two"         Case 3: GetDigit = "Three"         Case 4: GetDigit = "Four"         Case 5: GetDigit = "Five"         Case 6: GetDigit = "Six"         Case 7: GetDigit = "Seven"         Case 8: GetDigit = "Eight"         Case 9: GetDigit = "Nine"         Case Else: GetDigit = ""     End Select End Function

转载于:https://www.cnblogs.com/vibratea/archive/2010/09/16/1827767.html

相关资源:jquery 数字转换成中文大写

最新回复(0)