Округлить первые 3 знака после запятой в партии - PullRequest
0 голосов
/ 30 декабря 2018

Я не смог понять, как округлить до 3 десятичных знаков.

Это очень похоже на это это

Десятичные дроби всегда меняются, иногда 5и другие времена 15. Но это должно быть округлено до 3 десятичных знаков.

Используя это, чтобы генерировать размер файла:

for /f "delims=" %%a in ('powershell %FileSize% / 1048576') do (set SizeMB=%%a)

Есть ли правильный и простой способ округлить десятичные дроби?

Заранее спасибо.

1 Ответ

0 голосов
/ 30 декабря 2018

Если я понимаю, может понадобиться:

  1. Изменить "delims=" на "tokens=*"

  2. Взять результаты с 1-го по ивставьте следующее для разделения на 2 части

  3. Возьмите 1-е %%i в переменную целого числа
  4. Возьмите %%j и добавьте 000 (исключите "x,000", например, "x, ") на 000%_Size_:~0,3%
  5. Взять последние 3 символа в подстроке для формирования десятичного значения на %_Sizedec:~3%"
  6. Объединить %%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%
...