(已解决)如何对一个变量进行值的准确描述
本帖最后由 faceyao 于 2012-7-2 23:22 编辑变量$a,假如变量的值是数字,则msgbox("","","他的内容为数字"),假如变量是文字则msgbox("","","他的内容为文字")
要表达上面的意思,代码该怎么写, IsNumber(变量)
IsString(变量) 回复 1# faceyao
楼主,$a = 123和$a = '123'是不一样的哟!前一个是数字,后一个是字符串。 本帖最后由 Qokelate 于 2012-7-1 00:38 编辑
Local $a
Local $sTip
Select
Case Not $a
$sTip = '神马也不是,NULL'
Case IsString($a)
$sTip = '字符串'
Case IsNumber($a)
$sTip = '数字'
Case IsKeyword($a)
$sTip = '关键字'
Case IsHWnd($a)
$sTip = '句柄'
Case IsObj($a)
$sTip = '对象'
;各种IsXXXXX函数判断
EndSelect
MsgBox(0, 0, '$a是' & $sTip)
回复 4# Qokelate
问下:当$a=Default 结果是什么??? 回复 5# lchl0588
default可以看作是宏,不同地方的定义不一样 回复 4# Qokelate
$a=0 时呢, 0 不能算是数字吗?
顺序有点乱了 回复 6# netegg
如 user3000所说,代码检测顺序乱了!!Local $a
Local $sTip
Select
Case IsString($a)
$sTip = '字符串'
Case IsNumber($a)
$sTip = '数字'
Case IsKeyword($a)
$sTip = '关键字'
Case IsHWnd($a)
$sTip = '句柄'
Case IsObj($a)
$sTip = '对象'
Case Not $a
$sTip = '神马也不是,NULL'
;各种IsXXXXX函数判断
EndSelect
MsgBox(0, 0, '$a是' & $sTip)这样的话,一切就OK了 回复 8# lchl0588
自己看看吧 回复 9# netegg
老兄啊,这样当然有错啊!!!Run("notepad.exe")
Local $a =WinWait("", "", 10)
Local $sTip
Select
Case IsString($a)
$sTip = '字符串'
Case IsNumber($a)
$sTip = '数字'
Case IsKeyword($a)
$sTip = '关键字'
Case IsHWnd($a)
$sTip = '句柄'
Case IsObj($a)
$sTip = '对象'
Case Not $a
$sTip = '神马也不是,NULL'
;各种IsXXXXX函数判断
EndSelect
MsgBox(0, 0, '$a是' & $sTip)这样再测试下????? 本帖最后由 netegg 于 2012-7-1 13:18 编辑
回复 10# lchl0588
你这个是获取的,还说什么判断,lz好像只是说的变量
另外楼主的原题记得有个api可以做,区分数值和字符串 双组 变量数字 子窜符 8楼应该是正解 回复 11# netegg Local $a
Local $sTip
Select
Case IsString($a) ;1
$sTip = '字符串'
Case Not $a ;2
$sTip = '神马也不是,NULL'
EndSelect
MsgBox(0, 0, '$a是' & $sTip)和Local $a
Local $sTip
Select
Case Not $a ;2
$sTip = '神马也不是,NULL'
Case IsString($a) ;1
$sTip = '字符串'
EndSelect
MsgBox(0, 0, '$a是' & $sTip)测试下,看结果??只能说明给的值有点含糊吧??? 本帖最后由 netegg 于 2012-7-1 14:21 编辑
回复 13# lchl0588
这样用肯定有顺序问题,一个case一旦成立,后面的case就跳过了
对了,刚才没看到afan的回答,判断数值和字符串用那个就行了 本帖最后由 Qokelate 于 2012-7-1 16:58 编辑
Local $a
Local $b = 0
Local $c = ''
Local $d = BinaryToString(0)
MsgBox(0,0,IsString($d))
If $a = $b Then MsgBox(0, 0, 0)
If $a = $c Then MsgBox(0, 0, 1)
If $b = $c Then MsgBox(0, 0, 2)
If $a = $d Then MsgBox(0, 0, 3)
看懂这个再研究细节吧
页:
[1]
2