以及清楚、不太深奥的解释?
满意的——加分!
比如这个
发一段自己写的。。没什么效率可言。。主要是体现个人思路。。
@echo off
call :Add 314649645665.32188 694784.876998798
pause&exit/b
:Add number1 number2 ||@by zj
::不支持负数
Setlocal EnableDelayedExpansion
set "bjs=%~1"&set "js=%~2"
set "bjs=%bjs:-=%"&set "js=%js:-=%"
for %%i in (bjs js) do (
((echo !%%i!)|findstr /ic:"."||set "%%i=!%%i!.0")>nul
for /f "tokens=1,2 delims=." %%j in ("!%%i!") do set "z_%%i=%%j"&set
"x_%%i=%%k"
)
::::设定两数的整数和小数部分,整数的给z_XXX,小数的给x_XXX
call :lp z_bjs z_js z_max
for /l %%i in (1 1 %lg_z_max%) do set "z_bjs=0!z_bjs!"&set "z_js=0!z_js!"
call :sub !z_bjs:~-%lg_z_max%!%x_bjs% !z_js:~-%lg_z_max%!%x_js%
::调用sub求出两数各位数的和,大于10的进1,截取倒数第一位
goto :EOF
:sub num1 num2 ||小数部分(左补零对齐)
Setlocal
set ".bjs=%~1"&set ".js=%~2"
call :lp .bjs .js .max
set/a lg_.max-=1
评论