1个回答
展开全部
两种实现方法。
还有一种转换方法
第一种:
需要在TextBox的Change事件中写,假设TextBox的名字是Text1(下同)
Text1.Text = Val(Text1.Text)
Text1.SelStart = Len(Text1.Text)
这种可以在输入任何英文的时候都会消失,输入不进去
缺点是如果在数字开头打了非数字(字母、汉字、符号),数字就会变成0
第二种:
随意在什么地方写,可以在TextBox的Change写,也可以在TextBox的Lostforce(失去焦点,比如去点按钮或者其他文本框的时候,类似于网上注册的时候,填完了ID去填密码然后提示你ID不对),或者在最后的“确认”按钮中写(类似网上注册的时候,点击提交的时候提示你有什么不对)
If IsNumeric(Text1.Text) = False Then
'如果非纯数据,执行
End If
第三种:
可以类似像第一种一样转换,不过不会因为在开头写而被变成0
Dim aa As Integer, a As String, cp As String
With Text1
aa = Len(.Text)
For i = 1 To Len(.Text)
a = Mid(.Text, i, 1) '读取出一位(依次)
If IsNumeric(a) Then cp = cp & a '如果是数字 整合到cp中
Next i
.Text = Val(cp) '重新输入Text1
.SelStart = Len(.Text) '让光标移动到末尾
End With
以上,不会可追问
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询