2

如何验证一个变量是批处理文件中的一个数字?

1, 2, 4, 5, 10934, 495832945, 4395893428 ->  true
Apple, Orange, Animal, Red, Sky, Leaf -> false
4

3 回答 3

1
echo %variable%| FINDSTR /R /X " *[0-9]* *" >nul 2>&1 && echo IT IS A NUMBER
echo %variable%| FINDSTR /R /X " *[0-9]* *" >nul 2>&1 || echo IT IS NOT A NUMBER
于 2013-07-12T14:34:19.630 回答
1

在 StackOverflow.com 上找到答案

set /p Input1=Enter number: 
set /a Input2=%Input1% * 1
if "%Input2%"=="0" echo It is not a number.

它不适用于 0 到 0.9 的数字。

于 2013-07-12T14:36:30.840 回答
1

来自http://www.robvanderwoude.com/sourcecode.php?src=isnumber_nt [ Alt Link ]

:: Positive decimal
SET RC=10
FOR /F "tokens=1 delims=0123456789" %%A IN ("%Value%") DO SET RC=0
IF %RC% EQU 10 EXIT /B 10
于 2013-07-12T14:41:42.820 回答