找回密码
 加入
搜索
查看: 4151|回复: 5

[效率算法] 大于小于的新人问题,

  [复制链接]
发表于 2013-12-22 16:12:37 | 显示全部楼层 |阅读模式
本帖最后由 5735988 于 2013-12-22 16:13 编辑

Local $aArray = '5418le'

If StringLen($aArray) > 5 And StringLen($aArray) < 9 Then
        If $aArray > 100 And $aArray < 99999999 Then
                ConsoleWrite("---:" & $aArray & @CRLF)
        EndIf
EndIf

----------------------------------------------
为什么 大于100   小于 999999     但是  5418le  非数字,有字母还能输出,
If $aArray > 100 And $aArray < 99999999 Then   还能输出


-----------------------------------------------
另外请教个正则,想提取数字   50671240    这个数字,有时候是6位数字,7位,8位,而且位置不固定

6106@qq,com 5418le 女  身份证  学生  石天    石天  320820104123  50671240 f阿萨德飞 水电费是否 sdafsdfsf  sdf

6106@qq,com 5418le 女    320820104123  身份证  学生  石天    石天50671240 f阿萨德飞 水电费是否 sdafsdfsf  sdf

6106@qq,com 5418le  f阿萨德飞  女  身份证  学生  50671240 石天    石天  320820104123  水电费是否 sdafsdfsf  sdf
发表于 2013-12-22 16:27:31 | 显示全部楼层
本帖最后由 Dreamer 于 2013-12-22 16:30 编辑

因為把 $aArray 解釋為數字類型且只解釋到可解釋的部份,也就是5418,而5418大100且小於99999999 所以條件成立。
如果把字符放在5148前面就會解釋為字串類型,條件就不會成立
发表于 2013-12-23 00:27:09 | 显示全部楼层
第一个问题:
Dim $aArray = '5418le'
ConsoleWrite(Number($aArray) & "---:" & $aArray & @CRLF)
语言参考 - 数据类型
AutoIt 只有一个叫做 Variant(变量) 的数据类型. 一个 Variant(变量) 可以包含数字或字符串, 如何使用这些数据要视情况而定. 例如, 若试图让两个变量相乘, 则它们将被当作数字类型, 而试图连接(拼合)两个变量, 则它们将被视为字符串.

示例:

    10 * 20 等于数字 200 (* 用于两个数相乘)

    10 * "20" 等于数字 200

    "10" * "20" 等于数字 200

    10 & 20 相当于 字符串 "1020" (& 用来连接字符串)



如果一个字符串被当作数字使用时, 则隐含调用 Number() 函数操作. 如果字符串不包含有效的数字, 则它会被假定为等于 0. 例如:

    10 * "fgh" 等于数字 0.

如果字符串被用于布尔运算, 并且字符串为 "", 则字符串被视为 False (见下文). 例如:

    Not "" 相当于布尔值 True.

第二个就不会了,位置不固定,位数不固定,而且行内有多个数字串。。。
 楼主| 发表于 2013-12-23 04:41:45 | 显示全部楼层
第一个问题,理解了。发哥牛。
 楼主| 发表于 2013-12-23 04:44:08 | 显示全部楼层
第二个问题

                        If Number(StringLen($aArray[$i_NUM])) > 5 And Number( StringLen($aArray[$i_NUM])) < 9  Then
                                If Number($aArray[$i_NUM]) > 100 And Number($aArray[$i_NUM]) < 99999999 Then

                                EndIf
                        EndIf



这样处理了,
发表于 2013-12-23 10:56:39 | 显示全部楼层
\b\d{6,8}\b
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-1 09:04 , Processed in 0.080207 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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