字符串输入多个00时的处理问题,路过的师傅看看哪里有问题。
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)'======================
Dim a As String
a = ".0123456789" & Chr(8) & Chr(13)
If InStr(a, Chr(KeyAscii)) = 0 Or (KeyAscii = Asc(".") And (Text1(Index) = "" Or InStr(Text1(Index), ".") > 0)) Then KeyAscii = 0
'========================上面这段挺好的,防止第一个字符输入小数点“.”,防止输入2个小数点。谢谢版主wmf2014的帮助。
'下面这段帮我看看,目的是防止输入00.1这种多个0,下面这段可以实现我的目的
If KeyAscii = Asc("0") And Len(Text1(Index).Text) = 1 Then
If Text1(Index).Text = 0 Then KeyAscii = 0
End If
'但是,上面这个想整合成下面一句怎么会报错,错在这一段And Text1(Index).Text = 0 ,报错13,类型不匹配
'ˇˇˇˇˇˇˇˇˇˇˇˇ
If KeyAscii = Asc("0") And Len(Text1(Index).Text) = 1 And Text1(Index).Text = 0 Then KeyAscii = 0 '怎么会报错.......
'另外,我要实现输入0.10000后自动将这个数值变为0.1,要怎么弄?除了val()外还有什么方法吗?
End Sub
[此贴子已经被作者于2020-3-11 15:35编辑过]