楼上的朋友们,你们的你代码都有Bug,应该这样。
只允许输入数字、小数点、退格键。只能有一个小数点,且不允许第1位为小数点:
Private Sub Text1_KeyPress(KeyAscii As Integer)
' 允许输入数字、小数点和退格键
If KeyAscii >= 48 And KeyAscii <= 57 Or KeyAscii = 46 Or KeyAscii = 8 Then
' 如果已经输入了小数点,则禁止再次输入
If KeyAscii = 46 And (InStr(Text1.Text, ".") > 0 Or Len(Text1.Text) = 0) Then
KeyAscii = 0
End If
' 如果小数点在第1位,则禁止输入
If KeyAscii = 46 And Len(Text1.Text) = 1 Then
KeyAscii = 0
End If
Else
' 禁止输入
KeyAscii = 0
End If
End Sub
[此贴子已经被作者于2023-4-3 19:37编辑过]