vb中Text2.Text = Text2.Text & y(c + 1) & x(k - 1 + i)

PrivateSubCommand1_Click()DimxDimyDimk,iAsIntegerx=Array(万,千,百,拾,元)y=Array(零,壹,贰,叁,肆,... Private Sub Command1_Click()
Dim x
Dim y
Dim k, i As Integer
x = Array(万, 千, 百, 拾, 元)
y = Array(零, 壹, 贰, 叁, 肆, 伍, 浏, 其, 吧, 就)

If Not IsNumeric(Text1.Text) Then
MsgBox "错误"
End If
k = Len(Text1.Text)
If k < 6 Then
For i = 1 To k
c = Val(Mid(Text1.Text, i, 1))
Text2.Text = Text2.Text & y(c + 1) & x(k - 1 + i)
Next i
Else
End
End If
End Sub
请问上面程序中为什么会出现Text2.Text = Text2.Text & y(c + 1) & x(k - 1 + i)错误?????
展开
 我来答
parksunming
2008-11-26 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:124
采纳率:0%
帮助的人:98.9万
展开全部
只能给你估计下了:
1、Val转化之后是单精度型的数,建议在VAL前面价格CINT函数
2、text1框中有a到F的字母,这些字母会被认为是16进制的数一起被带入到程序中,从而造成变量C可能被赋值为大于10的数值,如果你的text中字符的长度小于是就是出错。
3、输入的数值注意位数不要大于万位
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nieqibiao
2008-11-26 · 超过15用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:0
展开全部
Private Sub Command1_Click()
Dim x
Dim y
Dim k, i As Integer
Text2 = ""
x = Split("元 拾 百 千 万", , , vbTextCompare)

y = Split("零 壹 贰 叁 肆 伍 浏 其 吧 就", , , vbTextCompare)

If Not IsNumeric(Text1.Text) Then
MsgBox "错误"
End If
k = Len(Text1.Text)
If k < 6 Then
For i = k To 1 Step -1
c = Val(Mid(Text1.Text, i, 1))
Text2.Text = y(c) & x(k - i) & Text2
Next i
Else
End

End If
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友efae51f
2008-11-26 · TA获得超过2221个赞
知道大有可为答主
回答量:6916
采纳率:0%
帮助的人:2993万
展开全部
改成Text2.Text = Text2.Text &cstr( y(c + 1) )&cstr( x(k - 1 + i))
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zorrowh
2008-11-26 · TA获得超过488个赞
知道小有建树答主
回答量:622
采纳率:0%
帮助的人:221万
展开全部
Text2.Text = Text2.Text & y * (c + 1) & x * (k - 1 + i)

' 乘法 * 运算符掉了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式