cmd.exe 中 lss 比较中的前导零会导致意外结果

cmd.exe 中 lss 比较中的前导零会导致意外结果

如果 8 lss 1 echo Less

[未显示任何内容]

如果 08 lss 1 echo Less

较少的

为什么?

答案1

我想找到了。0 是 cmd.exe 中八进制数的前缀(从来不知道!)并且 08 无法正确解释,因为它不是有效的八进制数。

因此,当我从日期中提取 1-12 月份并对其进行数学运算时,它在 08 和 09 月份上失败,但对 01-07 和 10 和 11 有效。前者是有效的八进制,后者是十进制。

明白了!

相关内容