回 帖 发 新 帖 刷新版面

主题:[原创]不能输入小数点了,怎么办

Private Sub Text1_KeyPress(KeyAscii As Integer)
   If Not (KeyAscii >= Asc(0) And KeyAscii <= Asc(9) Or KeyAscii = 8) Then KeyAscii = 0
End Sub

只能输入数字。怎样才只能输入数字和小数点

回复列表 (共5个回复)

沙发

如果你不懂这些代码是什么意思,你抄来有何用?

板凳

KeyAscii = 8应改为KeyAscii = 46

3 楼

[quote]KeyAscii = 8应改为KeyAscii = 46[/quote]
他还是不懂!

4 楼

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 楼

我个人认为我写的这个效率比较高,而且可读性好很多
[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会自动转换。

我来回复

您尚未登录,请登录后再回复。点此登录或注册