51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2309|回复: 9
打印 上一主题 下一主题

[原创] 怎样获取输入值的类型?一定告知谢谢

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-4-18 10:23:58 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
datatable中有一num列中,第一行的值是123456.第二行的值是abcdef。
令变量a = DataTable.Value("num", dtLocalSheet)
令变量b = VarType(a)
我希望在运行第一行时,输出b是整数型,运行第二行时,输出b是字符串型。
但是好像不行啊,运行两行b输出都是字符串型
请问有什么方法啊?

[ 本帖最后由 puccaguo 于 2008-4-18 11:29 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

10#
发表于 2008-4-21 11:28:34 | 只看该作者
“我个人觉得,123456肯定是字符串型的啊,怎么可能是整型,整型的值没那么大”.你这句话是不对的。123456在datatable中存的也是数值型的。所以,你就可以通过IsNumeric()来做判断就可以了。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2008-4-20 20:32:45 | 只看该作者
原帖由 puccaguo 于 2008-4-19 09:00 发表
因为有一个输入框,需要输入的是6位数字,如果输入的不是6位数字或者是字符串的话,那么在保存时系统必须要提示“需要输入6位数字”。我想用QTP做这个判断,如果输入6位数字,就保存成功,否则,需要有正确提示。
这 ...


那不是更简单了么。。。
isnumeric函数就可以搞定了~~
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2008-4-19 09:00:36 | 只看该作者
因为有一个输入框,需要输入的是6位数字,如果输入的不是6位数字或者是字符串的话,那么在保存时系统必须要提示“需要输入6位数字”。我想用QTP做这个判断,如果输入6位数字,就保存成功,否则,需要有正确提示。
这是我的目的。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-4-18 15:58:21 | 只看该作者
我个人觉得,123456肯定是字符串型的啊,怎么可能是整型,整型的值没那么大
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-4-18 15:58:04 | 只看该作者
原帖由 puccaguo 于 2008-4-18 14:57 发表
但是如果我强制转换,比如
c = cdbl(a)
那么如果a输入的时候是abcdef,这样c = cdbl(a)这句话就会报错的啊


按照你的需要,你可以这么写:
If isnumeric(a) Then
c=cdbl(a)
else
c=a
End If
msgbox vartype(c)
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-4-18 15:51:56 | 只看该作者
我不知道你要转换类型的目的是什么啊?但是你这样强制转化肯定会 出问题.比如值是"abladas"时,你去转换成整型肯定是不可以的. 能不能把你的 真实目的说出来啊?

[ 本帖最后由 xiaonan 于 2008-4-18 15:53 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-4-18 14:57:50 | 只看该作者
但是如果我强制转换,比如
c = cdbl(a)
那么如果a输入的时候是abcdef,这样c = cdbl(a)这句话就会报错的啊
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-4-18 12:55:45 | 只看该作者
b = VarType(a)
这个定义本身就是个问题,传值进来的时候,你又递交给了别的值,这样肯定以字符串来了
你可以使用强制转换的形式
回复 支持 反对

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2008-4-18 10:24:28 | 只看该作者
不能沉啊这贴
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-24 03:18 , Processed in 0.074406 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表