【问题标题】:Simple IF statement with more than 1 digit numbers?具有超过 1 位数字的简单 IF 语句?
【发布时间】:2017-02-15 00:29:10
【问题描述】:

下面我正在测试一个简单的 IF 语句,但它似乎没有考虑我正在比较的整数。你可以看到这个数字大于“2”,但我的结果就像它只读取“1”就是这样,所以告诉我这个数字是“小于或等于”而不是“2”,我会期待结果“大”要退回。我怎样才能让它读取整个数字而不仅仅是第一个数字?

IF "1073740972" LEQ "2" (
    ECHO LESS or EQU 2 
        ) ELSE (
    ECHO LARGE
)

“LARGE”数字是 %ERRORLEVEL% 生成的数字,因此每次都可能不同。

我已尝试将 [LEQ "2"] 更改为 [LSS "3"],但我不知道还能尝试什么。

提前致谢

【问题讨论】:

    标签: batch-file if-statement


    【解决方案1】:

    去掉比较表达式中的引号:

    IF 1073740972 LEQ 2 (
        ECHO LESS or EQU 2 
            ) ELSE (
        ECHO LARGE
    )
    

    否则,不进行数字而是字符串比较,这里考虑字符代码,所以字符1 (ASCII 49 = 0x31) 小于字符2 (ASCII 50= @987654327 @)。

    【讨论】:

      猜你喜欢
      • 2020-02-22
      • 2019-03-17
      • 2022-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-01
      • 1970-01-01
      • 2016-12-20
      相关资源
      最近更新 更多