CODE: [Copy to clipboard]
@echo off&setlocal enabledelayedexpansion
:1
cls&for %%a in (numeric1 numeric2 xxx n1 n2 #1 #2 a b z zero c mod d x mo ) do set "%%a="
echo.&echo.&echo.&set/p numeric1= 输入被除数: &echo.&set/p numeric2= 输入除数:
echo.&set/p xxx= 输入要保留的小数点位数:
for %%a in (1 2) do echo !numeric%%a!|find ".">nul&&set n%%a=!numeric%%a:*.=!
for %%i in (1 2) do (
if defined n%%i (
for /l %%a in (0 1 10) do (
if "!n%%i:~%%a,1!" neq "" set #%%i=%%a
)
)
)
for %%a in (1 2) do if defined #%%a (set/a #%%a+=1) else set #%%a=0
if !#1! geq !#2! (
set/a z=!#1!-!#2!,a=%numeric1:.=%,b=%numeric2:.=%
) else (
set/a z=!#2!-!#1!,a=%numeric2:.=%,b=%numeric1:.=%
)
for /l %%a in (1 1 %z%) do set zero=!zero!0
set a=%a:.=%&set b=%b:.=%%zero%
if %a% lss %b% set a=%b%&set b=%a%
set/a c=a/b
:begin
set/a mod=a%%b
set a=%mod%0
set/a d=a/b
set/a x+=1
if %x% neq %xxx% (
set mo=!mo!%d%
goto begin
) else (
if %d% geq 5 (
set/a d+=1
set mo=!mo!!d!
)
)
:res
if %mo:~-1% equ 0 (
set mo=%mo:~,-1%
goto res
)
echo.&if defined mo (echo [result]: %c%.%mo%) else echo [result]: %c%
pause>nul&goto 1
CODE: [Copy to clipboard]
@echo off
for /l %%i in (1,1,10) do set "_%%i=%%i"
echo 清空前:
for /l %%i in (1,1,10) do call,echo %%_%%i%%
for /f "delims==" %%i in ('set _') do set "%%i="
pause&cls&echo 清空后:
for /l %%i in (1,1,10) do call,echo %%_%%i%%
pause>nul
[