批处理文件支持的数量限制

时间:2015-01-16 09:46:08

标签: batch-file integer-arithmetic

我试图使用批处理文件添加12位和8位数字。但是,它会出现以下错误 - Invalid number. Numbers are limited to 32-bits of precision

我该怎样做才能克服这个障碍?

如果有帮助,我就像这样添加它们 -

set /a z= (%r:~0% + %u:~0%)

其中ru包含要以字符串格式添加的数字。

1 个答案:

答案 0 :(得分:2)

12位数字已经超出了Int32的边界,这意味着您无法直接在批处理文件中对其进行算术运算。

它会慢一点,但它有效。

另一个选择是让其他程序进行计算,例如PowerShell的:

for /f %%x in ('powershell %r:~0% + %u:~0%') do set result=%%x

旁注:我认为%r:~0%意味着»从字符0开始,取%r%的子字符串,延伸到字符串«的末尾,这与字符串本身完全相同