用vb做计算器如何实现输入的是数字而不是汉字
4个回答
展开全部
用IsNumeric函数即可,IsNumeric(text1.text) 返回值为true则为数值,返回值为false则不为数值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在文本框的keypress事件中调用下面的过程
'*********************************************************************************************
'名称 Sub_CheckNum
'作者 Morn Woo
'功能 检查键入的是否是数字 ,不是则释放按键
'参数 iPressKey(引用传递):按键的ASCII码;如果要处理浮点数的输入,则要把已经输入的部分作为参数sstr 传入
'应用方法 在keypress事件中调用,用事件的KeyAscii参数作为这里的参数inatural,当使用s参数时为检查字符输入
'*********************************************************************************************
Sub Sub_CheckNum(ByRef iPressKey As Integer, Optional sStr = "")
sStr = Trim(sStr)
If Len(sStr) = 0 Then
'1处理自然数输入的情况
Select Case iPressKey
Case 48 To 57, 8, 13 '8是backspace,131enter
'处理数字字符问题
Case Else:: iPressKey = 0
End Select
Else
'2处理浮点数输入的情况
Select Case iPressKey
Case 45 '处理负号字符问题
If InStr(sStr, "-") > 0 Then: iPressKey = 0
Case 48 To 57, 8, 13 '处理数字字符问题
Case 44: If sStr = "" Then iPressKey = 0 '处理逗号字符问题
Case 46 '处理小数点字符问题
If InStr(sStr, ".") > 0 Then: iPressKey = 0
Case Else:: iPressKey = 0
End Select
End If
End Sub
'*********************************************************************************************
'名称 Sub_CheckNum
'作者 Morn Woo
'功能 检查键入的是否是数字 ,不是则释放按键
'参数 iPressKey(引用传递):按键的ASCII码;如果要处理浮点数的输入,则要把已经输入的部分作为参数sstr 传入
'应用方法 在keypress事件中调用,用事件的KeyAscii参数作为这里的参数inatural,当使用s参数时为检查字符输入
'*********************************************************************************************
Sub Sub_CheckNum(ByRef iPressKey As Integer, Optional sStr = "")
sStr = Trim(sStr)
If Len(sStr) = 0 Then
'1处理自然数输入的情况
Select Case iPressKey
Case 48 To 57, 8, 13 '8是backspace,131enter
'处理数字字符问题
Case Else:: iPressKey = 0
End Select
Else
'2处理浮点数输入的情况
Select Case iPressKey
Case 45 '处理负号字符问题
If InStr(sStr, "-") > 0 Then: iPressKey = 0
Case 48 To 57, 8, 13 '处理数字字符问题
Case 44: If sStr = "" Then iPressKey = 0 '处理逗号字符问题
Case 46 '处理小数点字符问题
If InStr(sStr, ".") > 0 Then: iPressKey = 0
Case Else:: iPressKey = 0
End Select
End If
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Private Sub Command1_Click()
If IsNumeric(Text1) = False Then
MsgBox "该数不为数字", , "提示"
End If
End Sub
另外我有计算器的源码,要的话留下邮箱发你。
If IsNumeric(Text1) = False Then
MsgBox "该数不为数字", , "提示"
End If
End Sub
另外我有计算器的源码,要的话留下邮箱发你。
更多追问追答
追问
我希望我不能把字母输入到输入框里,但是用你的方法还是能够输入到输入框里,这如何解决呢?
我的qq 921247372
追答
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii 57 Then KeyAscii = 0
End Sub
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以使用KeyPress事件将数字输入保留,把其它的输入拦截
追问
在等号按钮事件里实现吗?如何实现?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询