vb问题!数字转汉字!把每句的语句都解释下,急用!谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/25 20:31:21
、将阿拉伯数字转换成汉字数字
具体要求:
(1) 设计程序实现:在文本框内输入数字,则其上方的标签内自动显示其对应的汉字数字。
(2) 由于采用的汉字较少,可以预先将其都存放在字符串中。
(3) 为了实现“输入数字即显示汉字”,可以采用文本框的keypress事件。
(4) 尽量采用调用VB提供的字符串函数。如:Cstr、Len、Mid
以下是题目给出的程序代码,将问号处补充完整就好了!还要有解释,谢谢各位高手!
Private Sub Form_Load()
'初始化设置
Text1.MaxLength = 16
Text1.Text = ""
Label1.Caption = ""
Label1.AutoSize = True
Label1.BorderStyle = 1
Label1.FontSize = 18
End Sub

Private Sub Label1_Click()

End Sub

Private Sub Text1_Change()
'调用转换子过程
Label1.Caption = CChinese(Text1.Text)
End Sub

Private Function CChinese(StrEng As String) As String
'验证数据
If Not IsNumeric(StrEng) Then
If Trim(StrEng) <> "" Then MsgBox "无效的数字"
CChinese = ""
Exit Function
End If
'定义变量
Dim intLen A

探花先生给的答案,只需要修改第5条就可以了,不然读取亿以上的数值会出错。另外,程序的解释其实题目中已经给得差不多了,其他语句都是花瓶性质的,没必要解释(因为Mid函数用得比较多,所以明白Mid(str,m,n)函数是从字符串str的第m位开始截取长度为n的子串就OK了)。

1、For intCounter = 1 To intLen
2、strTempCh = Mid(strEng2Ch, Mid(StrEng, intCounter, 1) + 1, 1)
3、If Mid(StrEng, intCounter + 1, 1) = "0" Or (intLen - intCounter + 1) Mod 4 = 1 Then strTempCh = ""
4、Else
5、strTempCh = strTempCh & Trim(Mid(strSeqCh2, (intLen - intCounter) \ 4 + 1, 1))
6、Next

以前弄过类似的东东,帮你找找。 

Private Sub Text1_Change()

    Dim dSrc As Double

    dSrc = Val(Text1.Text)

    Label1.Caption = Number_To_Chinese(dSrc)

End Sub

Public Function Number_To_Chinese(ByVal Number As Double) As String

    Dim Number_string As String

   &n