Округлить первые 3 знака после запятой в партии
Я не смог выяснить, как округлить до 3 десятичных знаков.
Это очень похоже на это
Десятичные дроби всегда изменяются, иногда 5 и другие 15 раз. Но это должно быть округлено до 3 десятичных знаков.
Используя это, чтобы сгенерировать размер файла:
for /f "delims=" %%a in ('powershell %FileSize% / 1048576') do (set SizeMB=%%a)
Есть ли правильный и простой способ округлить десятичные дроби?
Заранее спасибо.
1 ответ
Решение
Если я понимаю, может быть, может понадобиться:
+ Изменить
"delims="
в"tokens=*"
Возьмите результаты 1-го для и вставьте следующий для разделения на 2 части
- Взять 1-й
%%i
в переменную целого числа - принимать
%%j
и добавить 000 (предотвратить"x,000"
некоторые как"x, "
) от000%_Size_:~0,3%
- Возьмите последние 3 символа в подстроке, чтобы сформировать десятичное значение
%_Sizedec:~3%"
- Объединить
%%I
+ последние 3 по%%i,%_Sizedec:~3%"
:
set FileSize=98888765
for /f "tokens=*" %%a in ('powershell %FileSize% / 1048576') do (
for /f "tokens=1,2 delims=," %%i in ('echo/%%a') do (
set _Size_=%%j
set _SizeDec=000%_Size_:~0,3%
set "_SizeMB=%%i,%_SizeDec:~3%"
)
)
echo/%_SizeMB%