VB如何这样转换中文数字大小写

2025-02-06 09:05:24
推荐回答(5个)
回答1:

Option Explicit
Private Const STR1 = "一二三四五六七八九十百千万"
Private Const STR2 = "壹贰叁肆伍陆柒捌玖拾佰仟万"

Private Sub Command1_Click()
Dim I As Long
Dim K As Long
Dim Char As String * 1
Dim TempSTR As String

'将TEXT1中的字符串自动转换
'如Text1中是"一万三千二百",则在Text2中输出"壹万叁仟贰佰"
TempSTR = Text1.Text
For I = 1 To Len(Text1.Text)
Char = Mid(Text1.Text, I, 1)
K = InStr(STR1, Char)
If K > 0 Then Mid(TempSTR, I, 1) = Mid(STR2, K, 1)
Next I
Text2.Text = TempSTR
End Sub

回答2:

A = "一二三四五六七八九十"
B = "壹贰叁肆伍陆柒捌玖拾"

text2=text1
for i=1 to 10
text2=replace(text2,mid(a,i,1),mid(b,i,1))
next

回答3:

就是用你的这二个变量,用instr()函数找出位置,再用mid()函数找出文字

回答4:

Private Sub Command1_Click()
A = "一二三四五六七八九十"
B = "壹贰叁肆伍陆柒捌玖拾"
n = InStr(A, Text1.Text)
If n > 0 Then
Text2.Text = Mid(B, n, 1)
End If
End Sub

回答5:

Private Sub Cchange(str As String, M As String)
Dim S As String
Dim N As Integer
M = ""
N = Len(str)
For i = 1 To N
S = Mid(str, i, 1)
Select Case S
Case "一"
S = "壹"
Case "二"
S = "贰"
Case "三"
S = "叁"
Case "四"
S = "肆"
Case "五"
S = "伍"
Case "六"
S = "陆"
Case "七"
S = "柒"
Case "八"
S = "捌"
Case "九"
S = "玖"
Case "十"
S = "拾"
End Select
M = M + S
Next i
End Sub

Private Sub Command1_Click()
Dim A As String
Dim B As String
A = CStr(Text1.Text)
Call Cchange(A, B)
Text2.Text = B
End Sub
Private Sub Form_Load()
Text1.Text = "": Text2.Text = ""
End Sub