0

我正在编写一个代码来查找平方根,以便使用基本的 cmd 编码进行练习。但是,当我输入负数或不完美的正方形时,它会进入无限循环。我知道如何解决它,但我需要能够使用不等式(小于,大于)。(x 是我拥有的数字,y 是平方根)这样我可以说:

  • if %x% (小于) 0 (不操作)
  • if %y% (大于) %x% (不操作)

或者我可以创建另一个变量,它比 x 小(z)/大(n):

  • 如果 %x% == %z% (不操作)
  • if %x% == %n% (不要操作)

请帮我。我似乎找不到答案。

4

3 回答 3

3

您可以尝试阅读 IF 语句的文档 - 键入HELP IFIF /?从命令行。大约一半描述了支持不等式的命令扩展,例如 LSS 用于小于。

if 0 lss 1 (echo 0 is less than 1) else (echo 0 is not less than 1)
于 2012-05-06T01:45:46.913 回答
2

+1 to @dbenham's answer, here's the excerpt of the IF documentation with all the comparison operators:

If Command Extensions are enabled IF changes as follows:

IF [/I] string1 compare-op string2 command
IF CMDEXTVERSION number command
IF DEFINED variable command

where compare-op may be one of:

EQU - equal
NEQ - not equal
LSS - less than
LEQ - less than or equal
GTR - greater than
GEQ - greater than or equal
于 2012-05-06T12:16:02.530 回答
0

那么在代码中,这看起来像这样

:: this is Regional settings dependant so tweak this according 
:: your current Windows regional settings
for /f "tokens=1-3 delims=,: " %%a in ('echo %time%') do set hhmmsss=%%a%%b%%c

if /i %hhmmsss% LSS 95959 SET hhmmsss=0%hhmmsss%
于 2014-05-06T04:17:35.897 回答