1

我一直无法弄清楚如何舍入到小数点后 3 位。

这与this非常相似

小数总是变化的,有时是 5,有时是 15。但它必须四舍五入到小数点后 3 位。

使用它来生成文件大小:

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

有没有一种适当而简单的方法来四舍五入?

先感谢您。

4

1 回答 1

-1

如果我理解,可能需要:

  1. 更改"delims=""tokens=1,2"

  2. 从 1st 获取结果并放入 next for split in 2 part

  3. 取第一个%%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%
于 2018-12-30T16:19:21.160 回答