Foxtable(狐表)用户栏目专家坐堂 → 请问如何实现文本输入框只能输入数字和小数?(已解决)


  共有11567人关注过本帖树形打印复制链接

主题:请问如何实现文本输入框只能输入数字和小数?(已解决)

帅哥哟,离线,有人找我吗?
xiaoqiwei
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:8555 威望:0 精华:0 注册:2011/5/5 23:55:00
请问如何实现文本输入框只能输入数字和小数?(已解决)  发帖心情 Post By:2011/7/4 14:03:00 [只看该作者]

请问如何实现文本输入框只能输入数字和小数?比如 整数1-9999,小数1.25 等,输入框中只能输入整数或小数,请问如何实现呢?谢谢!
[此贴子已经被作者于2011-7-4 14:39:04编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
hhbb
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2011/7/4 14:22:00 [只看该作者]

带判断的转换

显然任何类型的数据,都可以转换为字符型。
但是对于其它类型的数据,却有转换失败的可能,例如:

Dim s As String = "abc"
Dim
v As Long = 123
Return
CLng(s) +
v

如果在命令窗口执行上面的代码,会出现错误提示:字符串"abc"无法转换为长整数。
为了解决这个问题,我们可以采用另一种转换方法。

除了String(字符)类型外,所有的基本数据类型,都有一个TryParse方法,用于将其它类型的数据转换为本类型的数据。

语法

Type.TryParse(Value,Variant)

说明

Type:   目标数据类型,例如Date、Integer、Long、Double等等。
Value:  要进行转换的数据。
V
ariant: 用于存放转换结果的变量,变量的类型必须和Type指定的类型一致。

如果转换成功,则将转换结果存储在变量Variant中,并返回True,否则返回False。

例如:

Dim s As string = "123.1"
Dim
d As Double
Double
.TryParse(s, d) '将变量s的内容转换为数值,并存放在变量d中
Output.Show(d +
100)
'输出结果是223.1

再例如:

Dim d As Date '变量d用于存储转换结果
If
Date.TryParse("1999/12/31", d) Then '如果转换成功
    Output.Show(d)
'输出转换结果
Else

    Output.Show(
"无效日期格式") '给出错误提示
End
If


 回到顶部
帅哥哟,离线,有人找我吗?
xiaoqiwei
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:8555 威望:0 精华:0 注册:2011/5/5 23:55:00
  发帖心情 Post By:2011/7/4 14:32:00 [只看该作者]

图片点击可在新窗口打开查看不好意思啊,我想要的是输入框中只能输入数字或小数,不是要转换,例如:我在Keyperss事件中输入

If Char.IsDigit(e.KeyChar) = False AndAlso Char.IsControl(e.KeyChar) = False Then
    e.Cancel = True
End If

 

这样就只能输入整数,却不能输入小数,我想实现的只能输入整数和小数都能输入!


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/7/4 14:33:00 [只看该作者]

If Char.IsDigit(e.KeyChar) = False AndAlso Char.IsControl(e.KeyChar) = False  AndAlso e.KeyChar <> "."  Then
    e.Cancel = True
End If

 回到顶部
帅哥哟,离线,有人找我吗?
xiaoqiwei
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:8555 威望:0 精华:0 注册:2011/5/5 23:55:00
  发帖心情 Post By:2011/7/4 14:39:00 [只看该作者]

Thank you!已解决!

 回到顶部
帅哥哟,离线,有人找我吗?
hhbb
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2011/7/4 15:42:00 [只看该作者]

以下是引用xiaoqiwei在2011-7-4 14:32:00的发言:

图片点击可在新窗口打开查看不好意思啊,我想要的是输入框中只能输入数字或小数,不是要转换,例如:我在Keyperss事件中输入

If Char.IsDigit(e.KeyChar) = False AndAlso Char.IsControl(e.KeyChar) = False Then
    e.Cancel = True
End If

 

这样就只能输入整数,却不能输入小数,我想实现的只能输入整数和小数都能输入!


這樣也行:

If Val(e.KeyChar)  = False AndAlso Char.IsControl(e.KeyChar) = False AndAlso e.KeyChar <> "0" Then

    e.Cancel = True

End If


[此贴子已经被作者于2011-7-4 16:07:46编辑过]

 回到顶部