@echo off
setlocal enabledelayedexpansion
set i=0
set n=%1
for %%u in ("" k M G) do (
for /f "delims=." %%i in ("!n!") do set i=%%i
if !i! lss 1024 (echo !n!%%~u & exit /b)
call :div !i! 1024 n
)
endlocal
goto :EOF
:div
setlocal enabledelayedexpansion
set d=
set q=0
set /a n=%1/%2,m=%1%%%2
if %m% gtr 0 (
for /l %%i in (1,1,2) do ( :: 小数点以下 2桁
if !m! gtr 0 (
set /a q=!m!0/%2,m=!m!0%%%2
set d=!d!!q!
)
)
set n=%n%.!d!
)
endlocal & set %3=%n%
goto :EOF
silverwire
#7477()
[
Batchfile
]
Rating0/0=0.00
@echo off setlocal enabledelayedexpansion set i=0 set n=%1 for %%u in ("" k M G) do ( for /f "delims=." %%i in ("!n!") do set i=%%i if !i! lss 1024 (echo !n!%%~u & exit /b) call :div !i! 1024 n ) endlocal goto :EOF :div setlocal enabledelayedexpansion set d= set q=0 set /a n=%1/%2,m=%1%%%2 if %m% gtr 0 ( for /l %%i in (1,1,2) do ( :: 小数点以下 2桁 if !m! gtr 0 ( set /a q=!m!0/%2,m=!m!0%%%2 set d=!d!!q! ) ) set n=%n%.!d! ) endlocal & set %3=%n% goto :EOFRating0/0=0.00-0+
[ reply ]