如何让textbox中只能输入负号、小数点、数字?如何检测textbox1中的text是一个正确是数值。求VB大神帮忙

比如说不能1..5(小数点连续),1.5.5(多个小数点),-5-1(多个负号)01.5(此时小数点不在第一位为错)11.5(此时小数点不在第一位为对)6-1(负号不在第... 比如说不能1..5(小数点连续),1.5.5(多个小数点),-5-1(多个负号)01.5(此时小数点不在第一位为错)11.5(此时小数点不在第一位为对)6-1(负号不在第一位)
一切可能的bug都要检测到。求大神帮忙。
我textbox是用来运算的。
展开
 我来答
damyzl
2011-12-14 · TA获得超过1586个赞
知道大有可为答主
回答量:1475
采纳率:74%
帮助的人:888万
展开全部
分两部分
限制输入(只能输入负号、小数点和数字)
Private Sub Text1_KeyPress( KeyAscii As Integer)
Select Case KeyAscii
Case 48 To 57'数字0-9
Case vbKeyBack, vbKeyDelete'删除键
case asc("-")'符号
case asc(".")'小数点
Case Else'其它,取消输入
KeyAscii = 0
End Select
End Sub
运算时检查是否是合法的数字
if IsNumeric(Text1.Text) then
'运算
Else
'提示输入有误
End if
一些不影响结果的多余输入(比如前导0)就不用处理了,比如
.5
会被认为是
0.5
这也是允许的
剑小风
2011-12-14 · TA获得超过117个赞
知道答主
回答量:105
采纳率:0%
帮助的人:124万
展开全部
if isnumeric(x) = false then '当X得值不是数值时
print "请输入正确数值"
end if
Isnumeric函数 去百度百科下 那有详细说明
更多追问追答
追问
不行啊。兄弟。百度百科上面说
"123"
  "123.1"
  "123,,,,111.222,,,333"
  "123,,,1.22,,,3"
  "123e+9"
  "123d-8"
  以上返回的都是True
追答
这只能自己多加几个判断了 没有符合你要求的函数啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式