[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
贴个除法函数吧
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. call :_div %RANDOM% 32768
  4. echo %quo%
  5. call :_div %RANDOM% 32768
  6. echo %quo%
  7. call :_div %RANDOM% 32768
  8. echo %quo%
  9. call :_div %RANDOM% 32768
  10. echo %quo%
  11. call :_div %RANDOM% 32768
  12. echo %quo%
  13. call :_div %RANDOM% 32768
  14. echo %quo%
  15. call :_div 32767 32768
  16. echo %quo%
  17. goto :eof
  18. rem 除法子程序开始
  19. :_div
  20.   if "%1"=="" (echo 请输入被除数(参数 %%^1)&goto :EOF)
  21.   if "%2"=="" (echo 请输入除数(参数 %%^2)&goto :EOF)
  22.   set /a Maxd=2147483647, scp=0, ded=%1, dvr=%2&set quo=
  23.   if %dvr% equ 0 (echo 错误,除数为零!&goto :EOF)
  24.   if %ded% equ 0 (set quo=0&goto :EOF)
  25.   if "%ded%"=="%1" (
  26.     if not "%dvr%"=="%2" echo 参数 %%^2 输入错误或数值超限&goto :EOF
  27.   ) else (
  28.     echo 参数 %%^1 输入错误或数值超限
  29.     if not "%dvr%"=="%2" echo 参数 %%^2 输入错误或数值超限&goto :EOF
  30.   )
  31.   :divbg
  32.   set /a quo=%ded%/%dvr%, rdd=quo*dvr
  33.   if %rdd% neq %ded% (
  34.     if %ded% leq %Maxd:~0,-1% (
  35.       set ded=%ded%0&set /a scp+=1&goto :divbg
  36.     )
  37.   )
  38.   if %quo% equ 0 goto :EOF
  39.   if %scp% neq 0 (
  40.     if "!quo:~-%scp%!"=="!quo!" (
  41.       set quo=00000000%quo%&set quo=0.!quo:~-%scp%!
  42.     ) else (
  43.       set quo=!quo:~0,-%scp%!.!quo:~-%scp%!
  44.     )
  45.   )
  46. goto :EOF
  47. rem End_div
复制代码

TOP

返回列表