找回密码
 加入
搜索
查看: 7504|回复: 9

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

  [复制链接]
发表于 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的时候,却经常出现不相等的情况,我想把两个变量的值转换成同一个类型再比较看看,找了下没找到,有没有哪个函数可以转换的?
 楼主| 发表于 2014-7-17 08:55:53 | 显示全部楼层
自己顶。。。
发表于 2014-7-17 09:11:22 | 显示全部楼层
AU3的数据类型是自动的,或者说是宽松的
你用 & 运算符,结果就是字符串,用 + 连接,结果就是数值
 楼主| 发表于 2014-7-17 19:23:07 | 显示全部楼层
回复 3# hnfeng


    那为什么有时候会出现两边都是12,却不相等的情况呢?弹窗弹出的结果显示两个变量的值没问题,但正则表达式却不成立,不知道什么原因。。
 楼主| 发表于 2014-7-17 19:47:06 | 显示全部楼层
回复 3# hnfeng


    刚测试了下,相加减确实会自动转换成数值,我就把需要对比的变量都-1再试试- -
发表于 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
不知道你的情况。
发表于 2014-7-17 21:38:19 | 显示全部楼层
回复 1# tanyinhua
有几个转换变量类型的函数.
Number()
String()
HWnd()
Ptr()
发表于 2014-7-17 21:54:52 | 显示全部楼层
字符串比对 “==”
数值比对 “=”
 楼主| 发表于 2014-7-17 23:39:46 | 显示全部楼层
回复 7# user3000


   哦,好,谢谢
 楼主| 发表于 2014-7-17 23:40:07 | 显示全部楼层
回复 8# afan


    难怪,有时候会混着对比,我还是先转换一下类型吧。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-24 07:05 , Processed in 0.076715 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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