Batch file 批处理-如果语句和负值
我试图用负数工作,但显然我在做一些愚蠢的事情。 附加的脚本将始终显示:Batch file 批处理-如果语句和负值,batch-file,Batch File,我试图用负数工作,但显然我在做一些愚蠢的事情。 附加的脚本将始终显示: testA = 15 testB = -15 testA GTR 0 testA GEQ 0 testB GTR 0 testB GEQ 0 到目前为止,我的印象是-15是你确实是对的。数学董事会协会尚未颁布任何关于整数排序的法律的最新修改,因此您的问题必须在别处解决:-) 事实上,导致此问题的是“值周围的0引号。去掉它们。这样做时,您会得到以下更合理的输出: testA = 15 testB = -15 testA
testA = 15
testB = -15
testA GTR 0
testA GEQ 0
testB GTR 0
testB GEQ 0
到目前为止,我的印象是-15是你确实是对的。数学董事会协会尚未颁布任何关于整数排序的法律的最新修改,因此您的问题必须在别处解决:-) 事实上,导致此问题的是
“
值周围的0
引号。去掉它们。这样做时,您会得到以下更合理的输出:
testA = 15
testB = -15
testA GTR 0
testA GEQ 0
testB LEQ 0
testB LSS 0
如果因为gtr
和相关运算符实际上是字符串比较,而不是数字比较,则您的“0”
案例不起作用的原因。它们用于数字的原因深深隐藏在if
语句的帮助中:
这些比较是通用的,因为如果string1和string2都由所有数字组成,则字符串将转换为数字并执行数字比较
由于
“
决不能被视为“数字”,因此执行的比较是基于字符串的比较,在ASCII中,“
(代码点0x22)小于任何数字(0x30到0x39)或-
符号(0x2d)在testB
的情况下,你确实是对的。数学董事会协会最近没有对管理整数排序的法律进行任何修改,因此你的问题必须放在别处:-)
事实上,是值周围的引号引起了这个问题。摆脱他们。当您这样做时,您会得到更合理的输出:
testA = 15
testB = -15
testA GTR 0
testA GEQ 0
testB LEQ 0
testB LSS 0
如果因为gtr
和相关运算符实际上是字符串比较而不是数字比较,则您的“0”
案例不起作用。它们用于数字运算的原因深藏在if
语句的帮助中:
这些比较是通用的,因为如果string1和string2都由所有数字组成,则字符串将转换为数字并执行数字比较
由于“
决不能被视为“数字数字”,因此执行的比较是基于字符串的比较,在ASCII中,“
(代码点0x22)小于任何数字(0x30到0x39)或-
符号(0x2d),在testB
@Aacini的情况下,我会投票,我并不自豪。我更愿意为有用的答案投票,但如果我为幽默投票,那也很好:-)谢谢!我可以发誓我试过了,有没有引用。好吧,回到批量游戏学校…@Aacini,我会投票的,我不骄傲。我更愿意为有用的答案投票,但如果我为幽默投票,那也很好:-)谢谢!我可以发誓我试过了,有没有引用。好吧,回到批量游戏学校。。。