找回密码
 加入
搜索
查看: 131|回复: 11

[AU3基础] [已解决]如何判断变量是不是正整数?

[复制链接]
发表于 2024-5-21 17:00:22 | 显示全部楼层 |阅读模式
本帖最后由 hnfeng 于 2024-5-21 17:19 编辑

想判断 一个输入的变量 ($CmdLine[3])是不是正整数,如果不是(例如:aaa, a1, 1a, -12 .....),就显示提示并退出


就是:只能输入 1,2,3,4,......这样的,不能是 0,不能含数字之外的字符,不能负数

Floor,Number, IsNumber, Int, String .... 晕了,试验不出来

发表于 2024-5-21 17:07:30 | 显示全部楼层
If Not StringRegExp($CmdLine[3],'^[1-9]\d*$') Then exit
 楼主| 发表于 2024-5-21 17:18:42 | 显示全部楼层
zghwelcome 发表于 2024-5-21 17:07
If Not StringRegExp($CmdLine[3],'^[1-9]\d*$') Then exit

多谢多谢,没想到使用正则解决了

发表于 2024-5-21 20:57:30 | 显示全部楼层
菜鸡表示:正则究竟是个什么JB玩意?

-------------------------
发表于 2024-5-21 20:59:29 | 显示全部楼层
$CmdLine[3]  =  $CmdLine[3]+0
发表于 2024-5-21 21:53:44 | 显示全部楼层
绿色风 发表于 2024-5-21 20:59
$CmdLine[3]  =  $CmdLine[3]+0

风老大这个式子怎么理解啊?
发表于 2024-5-21 22:20:19 | 显示全部楼层
rally 发表于 2024-5-21 21:53
风老大这个式子怎么理解啊?


$str = "11"
$str = 11 
$str = "aa"

$str = $str + 0



你可以分别试下看下效果
发表于 2024-5-21 22:47:49 | 显示全部楼层
绿色风 发表于 2024-5-21 22:20
你可以分别试下看下效果

这个如果$str为负数,$str = $str + 0 也成立啊
发表于 2024-5-22 09:06:27 | 显示全部楼层
LZ 是要判断,而不是容错(纠错),所以 + 0 这种强行转为数字肯定不适合,如果0本身就有其意义就更不能这么搞了。
发表于 2024-5-22 10:13:03 | 显示全部楼层
rally 发表于 2024-5-21 21:53
风老大这个式子怎么理解啊?

这只是 字符类数字  与 数字 之间的一种转换方法而以。
发表于 2024-5-22 10:14:17 | 显示全部楼层
afan 发表于 2024-5-22 09:06
LZ 是要判断,而不是容错(纠错),所以 + 0 这种强行转为数字肯定不适合,如果0本身就有其意义就更不能这么 ...

if $CmdLine[3]+0 > 0 then 不就得的了
发表于 2024-5-22 10:53:55 | 显示全部楼层
绿色风 发表于 2024-5-22 10:14
if $CmdLine[3]+0 > 0 then 不就得的了

我认为不行,你觉得行就行吧
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-16 13:24 , Processed in 0.098238 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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