分别将下面两段代码存到相应文件名中,再建新工程加入这个窗体和模块
form1.frm :
----------------------------------------------
VERSION 5.00
Begin VB.Form Form1
Caption = "大写金额演示"
ClientHeight = 2625
ClientLeft = 60
ClientTop = 345
ClientWidth = 4200
LinkTopic = "Form1"
ScaleHeight = 2625
ScaleWidth = 4200
StartUpPosition = 3 'Windows Default
Begin VB.CommandButton Command2
Caption = "退出"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 2640
TabIndex = 5
Top = 1800
Width = 1215
End
Begin VB.TextBox Text2
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 1440
Locked = -1 'True
TabIndex = 2
Top = 840
Width = 2415
End
Begin VB.TextBox Text1
Height = 375
Left = 1440
TabIndex = 1
Text = "0"
Top = 240
Width = 2415
End
Begin VB.CommandButton Command1
Caption = "转换大写金额"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 360
TabIndex = 0
Top = 1800
Width = 1575
End
Begin VB.Label Label2
Caption = "大写金额"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 240
TabIndex = 4
Top = 840
Width = 855
End
Begin VB.Label Label1
Caption = "数字金额"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 240
TabIndex = 3
Top = 240
Width = 855
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
If Text1.Text = "0" Then
Text2.Text = "零圆"
Else
Text2.Text = changemoney(Val(Text1.Text))
End If
End Sub
Private Sub Command2_Click()
End
End SubPrivate Sub Text2_GotFocus()
Text1.SetFocus
End Sub
-----------------------------------module1.bas
----------------------Attribute VB_Name = "Module1"
Private Function changnum(num As Integer) As String
Select Case num
Case 0
changnum = "零"
Case 1
changnum = "壹"
Case 2
changnum = "贰"
Case 3
changnum = "叁"
Case 4
changnum = "肆"
Case 5
changnum = "伍"
Case 6
changnum = "陆"
Case 7
changnum = "柒"
Case 8
changnum = "捌"
Case 9
changnum = "玖"
End Select
End Function
Public Function changemoney(num) As String
Dim money1 As String
Dim tn
Dim k1 As String
Dim k2 As String
Dim k3 As String If num = 0 Then
changemoney = " "
Exit Function
End If
If num < 0 Then
changemoney = "负" + changemoney(Abs(num))
Exit Function
End If
money1 = Trim(Str(num))
tn = InStr(money1, ".") '小数位置
k1 = ""
If tn <> 0 Then
ST1 = Right(money1, Len(money1) - tn)
If ST1 <> "" Then
t1 = Left(ST1, 1)
ST1 = Right(ST1, Len(ST1) - 1)
If t1 <> "0" Then
k1 = k1 + changnum(Val(t1)) + "角"
End If
If ST1 <> "" Then
t1 = Left(ST1, 1)
k1 = k1 + changnum(Val(t1)) + "分"
End If
End If
ST1 = Left(money1, tn - 1)
Else
ST1 = money1
End If k2 = ""
If ST1 <> "" Then
t1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
k2 = changnum(Val(t1)) + k2
End If If ST1 <> "" Then
t1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
If t1 <> "0" Then
k2 = changnum(Val(t1)) + "拾" + k2
Else
If Left(k2, 1) <> "零" Then k2 = "零" + k2
End If
End If If ST1 <> "" Then
t1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
If t1 <> "0" Then
k2 = changnum(Val(t1)) + "佰" + k2
Else
If Left(k2, 1) <> "零" Then k2 = "零" + k2
End If
End If If ST1 <> "" Then
t1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
If t1 <> "0" Then
k2 = changnum(Val(t1)) + "仟" + k2
Else
If Left(k2, 1) <> "零" Then k2 = "零" + k2
End If
End If k3 = ""
If ST1 <> "" Then
t1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
k3 = changnum(Val(t1)) + k3
End If
If ST1 <> "" Then
t1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
If t1 <> "0" Then
k3 = changnum(Val(t1)) + "拾" + k3
Else
If Left(k3, 1) <> "零" Then k3 = "零" + k3
End If
End If If ST1 <> "" Then
t1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
If t1 <> "0" Then
k3 = changnum(Val(t1)) + "佰" + k3
Else
If Left(k3, 1) <> "零" Then k3 = "零" + k3
End If
End If If ST1 <> "" Then
t1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
If t1 <> "0" Then
k3 = changnum(Val(t1)) + "仟" + k3
End If
End If
If Right(k2, 1) = "零" Then k2 = Left(k2, Len(k2) - 1)
If Len(k3) > 0 Then
If Right(k3, 1) = "零" Then k3 = Left(k3, Len(k3) - 1)
k3 = k3 & "万"
End If changemoney = IIf(k3 & k2 = "", k1, k3 & k2 & "元" & k1)
End Function
form1.frm :
----------------------------------------------
VERSION 5.00
Begin VB.Form Form1
Caption = "大写金额演示"
ClientHeight = 2625
ClientLeft = 60
ClientTop = 345
ClientWidth = 4200
LinkTopic = "Form1"
ScaleHeight = 2625
ScaleWidth = 4200
StartUpPosition = 3 'Windows Default
Begin VB.CommandButton Command2
Caption = "退出"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 2640
TabIndex = 5
Top = 1800
Width = 1215
End
Begin VB.TextBox Text2
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 1440
Locked = -1 'True
TabIndex = 2
Top = 840
Width = 2415
End
Begin VB.TextBox Text1
Height = 375
Left = 1440
TabIndex = 1
Text = "0"
Top = 240
Width = 2415
End
Begin VB.CommandButton Command1
Caption = "转换大写金额"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 360
TabIndex = 0
Top = 1800
Width = 1575
End
Begin VB.Label Label2
Caption = "大写金额"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 240
TabIndex = 4
Top = 840
Width = 855
End
Begin VB.Label Label1
Caption = "数字金额"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 240
TabIndex = 3
Top = 240
Width = 855
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
If Text1.Text = "0" Then
Text2.Text = "零圆"
Else
Text2.Text = changemoney(Val(Text1.Text))
End If
End Sub
Private Sub Command2_Click()
End
End SubPrivate Sub Text2_GotFocus()
Text1.SetFocus
End Sub
-----------------------------------module1.bas
----------------------Attribute VB_Name = "Module1"
Private Function changnum(num As Integer) As String
Select Case num
Case 0
changnum = "零"
Case 1
changnum = "壹"
Case 2
changnum = "贰"
Case 3
changnum = "叁"
Case 4
changnum = "肆"
Case 5
changnum = "伍"
Case 6
changnum = "陆"
Case 7
changnum = "柒"
Case 8
changnum = "捌"
Case 9
changnum = "玖"
End Select
End Function
Public Function changemoney(num) As String
Dim money1 As String
Dim tn
Dim k1 As String
Dim k2 As String
Dim k3 As String If num = 0 Then
changemoney = " "
Exit Function
End If
If num < 0 Then
changemoney = "负" + changemoney(Abs(num))
Exit Function
End If
money1 = Trim(Str(num))
tn = InStr(money1, ".") '小数位置
k1 = ""
If tn <> 0 Then
ST1 = Right(money1, Len(money1) - tn)
If ST1 <> "" Then
t1 = Left(ST1, 1)
ST1 = Right(ST1, Len(ST1) - 1)
If t1 <> "0" Then
k1 = k1 + changnum(Val(t1)) + "角"
End If
If ST1 <> "" Then
t1 = Left(ST1, 1)
k1 = k1 + changnum(Val(t1)) + "分"
End If
End If
ST1 = Left(money1, tn - 1)
Else
ST1 = money1
End If k2 = ""
If ST1 <> "" Then
t1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
k2 = changnum(Val(t1)) + k2
End If If ST1 <> "" Then
t1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
If t1 <> "0" Then
k2 = changnum(Val(t1)) + "拾" + k2
Else
If Left(k2, 1) <> "零" Then k2 = "零" + k2
End If
End If If ST1 <> "" Then
t1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
If t1 <> "0" Then
k2 = changnum(Val(t1)) + "佰" + k2
Else
If Left(k2, 1) <> "零" Then k2 = "零" + k2
End If
End If If ST1 <> "" Then
t1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
If t1 <> "0" Then
k2 = changnum(Val(t1)) + "仟" + k2
Else
If Left(k2, 1) <> "零" Then k2 = "零" + k2
End If
End If k3 = ""
If ST1 <> "" Then
t1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
k3 = changnum(Val(t1)) + k3
End If
If ST1 <> "" Then
t1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
If t1 <> "0" Then
k3 = changnum(Val(t1)) + "拾" + k3
Else
If Left(k3, 1) <> "零" Then k3 = "零" + k3
End If
End If If ST1 <> "" Then
t1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
If t1 <> "0" Then
k3 = changnum(Val(t1)) + "佰" + k3
Else
If Left(k3, 1) <> "零" Then k3 = "零" + k3
End If
End If If ST1 <> "" Then
t1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
If t1 <> "0" Then
k3 = changnum(Val(t1)) + "仟" + k3
End If
End If
If Right(k2, 1) = "零" Then k2 = Left(k2, Len(k2) - 1)
If Len(k3) > 0 Then
If Right(k3, 1) = "零" Then k3 = Left(k3, Len(k3) - 1)
k3 = k3 & "万"
End If changemoney = IIf(k3 & k2 = "", k1, k3 & k2 & "元" & k1)
End Function
Dim m As String, n As String, k As String, i As Integer, bz As Boolean, bzbz As Boolean, mn As String, flen As Integer
If Val(F) > 0 Then
k = "": F = CStr(Round(Val(F), 2))
Else
k = "负": F = CStr(Round(-Val(F), 2))
End If
bz = False: bzbz = False: m = "分角元拾佰仟万拾佰仟亿拾佰仟": n = "零壹贰叁肆伍陆柒捌玖"
If InStr(Right(F, 3), ".") = 0 Then
F = F + "00"
ElseIf InStr(Right(F, 2), ".") > 0 Then
F = F + "0"
End If
F = Replace(F, ".", ""): F = IIf(Left(F, 1) = "0", Mid(F, 2), F): flen = Len(F)
For i = 1 To flen
mn = Mid(m, flen + 1 - i, 1)
If Val(Mid(F, i, 1)) <> 0 Then
If bz Then k = k + "零"
k = k + Mid(n, Val(Mid(F, i, 1)) + 1, 1) + mn
bz = False: bzbz = False
If mn = "亿" Then bzbz = True
Else
If InStr("万亿元", mn) > 0 Then
If Not bzbz Or mn = "元" Then k = k + mn
bz = True: bzbz = True
Else
bz = True
End If
End If
Next i
Xzd = IIf(Val(Mid(F, flen, 1)) = 0, k + "整", k)
End Function