一个简单的判断字符串是否是数字的方法
bat吧
全部回复
仅看楼主
level 3
LQM12587 楼主
萌新发帖,先来个滑稽表示友好[滑稽]
最近在找一个检测字符串是数字的方法,但是网上一找都是些让我一脸蒙蔽的代码qwq,所以自己想了个方法来检测。(大概。。没有被发现过吧)
2018年12月31日 13点12分 1
level 3
LQM12587 楼主
主要思路就是set语句在计算(/a)模式下如果一个数与一个不是数字的变量进行运算时,结果仍是那个数。
例如set /a t=1+%a% ,如果变量%a%是一个可运算的数,那么运算会正常进行,而如果变量%a%不是一个可运算的数,那么t仍然等于1。
2018年12月31日 13点12分 2
level 3
LQM12587 楼主
上个例子
2018年12月31日 13点12分 3
level 13
用一句findstr正则表达式就可以搞定啦...
你这个限制颇多,数字可能是零啊,还可能超过21亿大
2018年12月31日 14点12分 4
我就是因为看不懂正则嫌它麻烦什么的才用了这个方法啊。。另外我在上面代码里加了个判断0。还有判断大数的你非得这么说我也没办法[不高兴],而且数字这么大变量也存储不了
2018年12月31日 15点12分
level 13
findstr "[^1234567890]" "%变量名%" && (echo 这不是数字) || (echo 这是数字)
2018年12月31日 15点12分 5
level 13
if %VAR% gtr 0x3FFFFFFF echo 这不是数字
(稳定性未测试)
2018年12月31日 15点12分 6
level 6
echo 12345|findstr /v "[^0-9]"&&echo 是纯数字!||echo 不是纯数字!
2019年01月02日 07点01分 8
1