📄 nu2en.cls
字号:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "CNU2EN"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'CODE Manger By BcodeXRose
Option Explicit
Private Data(9, 3) As String
'+----+----+----+----+----+----+----+----+----+----+----+----+----+
'+----+----+--- 过程名称:Class_Initialize
'+----+----+--- 参数: 无
'+----+----+----+----+----+----+----+----+----+----+----+----+----+
Private Sub Class_Initialize()
'Data for conversion
Data(0, 0) = "one": Data(1, 0) = "two": Data(2, 0) = "three"
Data(3, 0) = "four": Data(4, 0) = "five": Data(5, 0) = "six"
Data(6, 0) = "seven": Data(7, 0) = "eight": Data(8, 0) = "nine"
Data(9, 0) = "ten"
Data(0, 1) = "hundred": Data(1, 1) = "ten": Data(2, 1) = "twenty"
Data(3, 1) = "thirty": Data(4, 1) = "fourty": Data(5, 1) = "fifty"
Data(6, 1) = "sixty": Data(7, 1) = "seventy": Data(8, 1) = "eighty"
Data(9, 1) = "ninety"
Data(0, 3) = "ten": Data(1, 3) = "eleven": Data(2, 3) = "twelve"
Data(3, 3) = "thirteen": Data(4, 3) = "fourteen": Data(5, 3) = "fifteen"
Data(6, 3) = "sixteen": Data(7, 3) = "seventeen": Data(8, 3) = "eighteen"
Data(9, 3) = "nineteen"
End Sub
'+----+----+----+----+----+----+----+----+----+----+----+----+----+
'+----+----+--- 函数名称:ToWords
'+----+----+--- 参数:NumberStr 为String型
'As String'+----+----+--- 返回类型:As String
'+----+----+----+----+----+----+----+----+----+----+----+----+----+
Public Function ToWords(NumberStr As String) As String
Dim z As String, x As String, Temp As String, c As String
Dim a As Integer, b As Integer, i As Integer
'remove redundant spaces
NumberStr = Trim$(NumberStr)
a = Len(NumberStr)
Temp = NumberStr
If Val(NumberStr) = 0 Then
ToWords = "zero!"
Exit Function
End If
While ((a Mod 3) <> 0)
Temp = "0" & Temp
a = Len(Temp)
Wend
NumberStr = Temp
For i = a - 2 To 1 Step -3
b = b + 1
Temp = Mid$(NumberStr, i, 3)
z = ""
' "Intelligent" routines
'------------------------
If Temp <> "000" Then
c = Left$(Temp, 1)
If c <> "0" Then z = " " & Data(Val(c) - 1, 0) & " hundred"
c = Mid$(Temp, 2, 1)
If c <> "0" Then
If c <> "1" Then
z = z & " " & Data(Val(c), 1)
Else
z = z & " " & Data(Val(Right$(Temp, 2)) - 10, 3)
End If
End If
If Right$(Temp, 1) <> "0" And Mid$(Temp, 2, 1) <> "1" Then z = z & " " & Data(Val(Right$(Temp, 1)) - 1, 0)
End If
'------------------------
If z <> "" Then
Select Case b
Case 1:
x = z
Case 2:
x = z & " thousand" & x
Case 3:
x = z & " million" & x
Case 4:
x = z & " billion" & x
Case 5:
x = z & " trillion" & x
Case 6:
x = z & " zillion" & x
Case Else:
Exit Function
End Select
End If
Next
ToWords = x
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -