Board logo

标题: [数值计算] 批处理怎样数字计算求余数? [打印本页]

作者: Fly12388    时间: 2018-10-11 11:45     标题: 批处理怎样数字计算求余数?

菜鸟对
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /L %%i in (1,1,10) do (
  4. set /a aa= %%i*2
  5. echo !aa!
  6. )
复制代码
能得出2,4,6,8,10,12,14,16,18,20
但是如果求余数
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /L %%i in (1,1,10) do (
  4. set /a aa= %%i%2
  5. echo !aa!
  6. )
复制代码
得到1,2,3,4,5,6,7,8,9,10
而不是想要的1,0,1,0,1,0,1,0,1,0
请大牛们指点是哪里出了问题
作者: Batcher    时间: 2018-10-11 13:47

set /a aa=%%i%%2
作者: codegay    时间: 2018-10-11 15:37

例行建议换别的高级语言。
作者: xczxczxcz    时间: 2018-10-11 19:04

set /a aa= %%i%2
这里的 %2  是参数,因没有设置,所有 %2是空值。
set /a aa= %%i%2  等于 set /a aa= %%i
作者: /zhqsystem/zhq    时间: 2018-10-11 21:27

回复 4# xczxczxcz
call:1 100 5 +0
if defined n echo,%n%
pause
exit
:1
if /i "%2"=="" set "n="&&goto:eof
set "n="&&set/a "n=%~1%%%~2%~3"
goto:eof





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2