文本框只能输入数值的方法。限制字符已解决,关键是如何保证负号只能在前面,小数点只能输一个。

rybhlh 2006-03-25 10:36:22
文本框只能输入数值的方法。限制字符已解决,关键是如何保证负号只能在前面,小数点只能输一个。
我已经知道如何让操作者不能输入英文等,只能输入0--9,小数点,负号。但还有问题没解决。
1。如何避免用户在数字后面输入负号。或输入多次负号。
2。小数点只能输入一次,如何保让小数点的位置正确。
如何保让呢?
谢谢。
...全文
498 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
rybhlh 2006-03-26
  • 打赏
  • 举报
回复
那就把isnumeric的测试放在TEXT的CHANGE事件中咯
-----------------
谢谢,检测后如何处理呢?想一会没想出来。
因为检测的前提是用户已经将数字的错误组合输入进去了。我想实现的是用户根本无法输入不合法的数字组合。
再顶。
熊孩子开学喽 2006-03-26
  • 打赏
  • 举报
回复
那就把isnumeric的测试放在TEXT的CHANGE事件中咯
rybhlh 2006-03-26
  • 打赏
  • 举报
回复
谢谢,用isnumeric函数测试是可以,可是用户却是可以输入错误的数据,离开焦点时才知道输入错了。
我看到波这样的软件,文本框当输入错误时根本输入进去。它是不是做了专门的文本控件呀?
mendel 2006-03-26
  • 打赏
  • 举报
回复
晕。。。以必要这么复杂吗?
在textbox失去焦点的时候直接判断一直是否为数字不就行了?

If (IsNumeric(textbox.text)) And Len(textbox.text)>0) Then
是数字
Else
不是数字
End If
rybhlh 2006-03-26
  • 打赏
  • 举报
回复
检测按下的是否是“0123456789-.”其中的一个,是--通过,不是--返回
--------------------
是呀 ,我是这样做的,但是如果输入多个负号呢?输入多个小数点呢?
关键是各个数字的组合是否合法。
已经键入了再检测好办,难就难在如何实现不合法的组合都不让输入。
我看到财务软件都是这样的。就是不知如何做的。
yslzhf 2006-03-26
  • 打赏
  • 举报
回复
检测按下的是否是“0123456789-.”其中的一个,是--通过,不是--返回
northwolves 2006-03-26
  • 打赏
  • 举报
回复
1。如何避免用户在数字后面输入负号。或输入多次负号。
--------------------
if text1 like "-*#-*" or txt1 like "#*-*" then goto err

2。小数点只能输入一次,如何保让小数点的位置正确。
----------------------------------
if text1 like ".#*" or txt1 like "#*.*.*" then goto err
vansoft 2006-03-25
  • 打赏
  • 举报
回复
MASKEDIT好象有这个控件吧。
格式控件。
ChenChen88 2006-03-25
  • 打赏
  • 举报
回复
别那么麻烦,除非你做了只能输入合法数字的文本控件,否则每个文本框你都这样做,岂不是劳民伤财,用 IsNumeric 函数测试一下就可以了。
GoldenSword 2006-03-25
  • 打赏
  • 举报
回复
可以重载一个类,或者自己写DDX行数

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧