tanyinhua 发表于 2014-7-16 22:12:58

哪个函数是可以把数值或字符串转换成同一类型的?[已解决]

本帖最后由 tanyinhua 于 2014-7-19 19:33 编辑

比如$a="1",$b="2",$c=12或$c="12"
$d=$a & $b
现在$c是数值或者是字符串,$d我不知道算不算是个什么类型,反正两个的值都是12,但在对比的时候,有时候会出现不相等的情况,我不知道是为什么,用msgbox弹出提示,两个的值都确实是12,但下面的对比命令If $c=$d Then的时候,却经常出现不相等的情况,我想把两个变量的值转换成同一个类型再比较看看,找了下没找到,有没有哪个函数可以转换的?

tanyinhua 发表于 2014-7-17 08:55:53

自己顶。。。

hnfeng 发表于 2014-7-17 09:11:22

AU3的数据类型是自动的,或者说是宽松的
你用 & 运算符,结果就是字符串,用 + 连接,结果就是数值

tanyinhua 发表于 2014-7-17 19:23:07

回复 3# hnfeng


    那为什么有时候会出现两边都是12,却不相等的情况呢?弹窗弹出的结果显示两个变量的值没问题,但正则表达式却不成立,不知道什么原因。。

tanyinhua 发表于 2014-7-17 19:47:06

回复 3# hnfeng


    刚测试了下,相加减确实会自动转换成数值,我就把需要对比的变量都-1再试试- -

hnfeng 发表于 2014-7-17 20:34:10

本帖最后由 hnfeng 于 2014-7-17 20:36 编辑

Dim $a = "1", $b = "2", $c = 12, $d = "12"
Dim $e = $a & $b
MsgBox(0, "C=D", $c = $d)
MsgBox(0, "D=E", $d = $e)
MsgBox(0, "C=E", $c = $e)结果全部 True
不知道你的情况。

user3000 发表于 2014-7-17 21:38:19

回复 1# tanyinhua
有几个转换变量类型的函数.Number()
String()
HWnd()
Ptr()

afan 发表于 2014-7-17 21:54:52

字符串比对 “==”
数值比对 “=”

tanyinhua 发表于 2014-7-17 23:39:46

回复 7# user3000


   哦,好,谢谢

tanyinhua 发表于 2014-7-17 23:40:07

回复 8# afan


    难怪,有时候会混着对比,我还是先转换一下类型吧。。
页: [1]
查看完整版本: 哪个函数是可以把数值或字符串转换成同一类型的?[已解决]