我试图使用批处理文件添加12位和8位数字。但是,它会出现以下错误 - Invalid number. Numbers are limited to 32-bits of precision
。
我该怎样做才能克服这个障碍?
如果有帮助,我就像这样添加它们 -
set /a z= (%r:~0% + %u:~0%)
其中r
和u
包含要以字符串格式添加的数字。
答案 0 :(得分:2)
12位数字已经超出了Int32的边界,这意味着您无法直接在批处理文件中对其进行算术运算。
它会慢一点,但它有效。
另一个选择是让其他程序进行计算,例如PowerShell的:
for /f %%x in ('powershell %r:~0% + %u:~0%') do set result=%%x
旁注:我认为%r:~0%
意味着»从字符0开始,取%r%
的子字符串,延伸到字符串«的末尾,这与字符串本身完全相同