主题:[原创]不能输入小数点了,怎么办
zhengzexiao
[专家分:0] 发布于 2008-08-03 23:42:00
Private Sub Text1_KeyPress(KeyAscii As Integer)
If Not (KeyAscii >= Asc(0) And KeyAscii <= Asc(9) Or KeyAscii = 8) Then KeyAscii = 0
End Sub
只能输入数字。怎样才只能输入数字和小数点
最后更新于:2008-08-04 00:47:00
回复列表 (共5个回复)
沙发
tanchuhan [专家分:15140] 发布于 2008-08-03 23:48:00
如果你不懂这些代码是什么意思,你抄来有何用?
板凳
jianghongbo1 [专家分:410] 发布于 2008-08-04 08:46:00
KeyAscii = 8应改为KeyAscii = 46
3 楼
guoyong_cy [专家分:3050] 发布于 2008-08-06 20:20:00
[quote]KeyAscii = 8应改为KeyAscii = 46[/quote]
他还是不懂!
4 楼
snyga [专家分:1480] 发布于 2008-08-06 20:28:00
Private Sub Text1_KeyPress(KeyAscii As Integer)
If Not (KeyAscii >= Asc(0) And KeyAscii <= Asc(9) Or KeyAscii = 8 or keyascii=asc(".")) Then KeyAscii = 0
End Sub
5 楼
tanchuhan [专家分:15140] 发布于 2008-08-06 21:36:00
我个人认为我写的这个效率比较高,而且可读性好很多
[quote]
Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case vbKey0 To vbKey9 '0-9
Case vbKeyDelete, vbKeyBack '小数点,退格键
Case Else
KeyAscii = 0
End Select
End Sub
[/quote]
呵呵,少了Asc()函数调用,而且哪行代码是什么作用一目了然。
你们那些什么Asc(nnn),8 9 10之类的数字只会令人费解
另外,Asc()的参数应该是单个字符吧,可你们全部写成了数字。
当然,语法上讲它的参数应该是Variant,你写成了数字,VB会自动转换。
我来回复