huaxn 当前离线
一级士官
评分人数
inittab 当前离线
中尉
原帖由 ejzhang 于 2009-7-1 21:42 发表 上面代码如果n是空的时候也会判断为数字,照下面这样写就不会了(注意红色部分) for /f "delims=1234567890" %%a in ("@%n%@") do if %%a==@ (echo 纯数字) else echo 不是纯数字
@echo off set/p n=输入一个数字: if not "%n%"=="" ( for /f "delims=1234567890" %%a in ("%n%") do echo 不是纯数字&pause&goto :eof ) else echo 为空 echo 纯数字 pause复制代码
TOP
ejzhang 当前离线
二级士官
原帖由 inittab 于 2009-7-1 13:12 发表 @echo off set/p n=输入一个数字: for /f "delims=1234567890" %%a in ("%n%@") do if %%a==@ (echo 纯数字) else echo 不是纯数字 pause
rat 当前离线
荣誉版主
@echo off set/p n=输入一个数字: for /f "delims=1234567890" %%a in ("%n%@") do if %%a==@ (echo 纯数字) else echo 不是纯数字 pause复制代码
netbenton (秋风夜雨)当前离线
@echo off&setlocal enabledelayedexpansion :loop set /p n=输入一个数字 set m=!n!# for /l %%a in (0 1 9) do set m=!m:%%a=! if "!m!" equ "#" (echo 纯数字) else (echo 不是纯数字) goto :loop复制代码
someone 当前离线
五级士官
echo "%e%"|findstr "^.[0-9][0-9]*.$">nul&&echo 纯数字||echo 不是纯数字复制代码