Powershell 将批处理中的前3位小数取整

Powershell 将批处理中的前3位小数取整,powershell,batch-file,roundup,Powershell,Batch File,Roundup,我还没有弄清楚如何将小数加总到3位 与此非常相似 小数总是不同的,有时是5,有时是15。但它必须四舍五入到3位小数 使用此选项生成文件大小: for /f "delims=" %%a in ('powershell %FileSize% / 1048576') do (set SizeMB=%%a) 有没有一种合适而简单的方法把小数取整 提前谢谢。如果我理解,可能需要: 将delims=更改为tokens=1,2 将第一部分的结果放入下一部分,分成两部分 将第一个%%i放入整数变量 取%%j,

我还没有弄清楚如何将小数加总到3位

与此非常相似

小数总是不同的,有时是5,有时是15。但它必须四舍五入到3位小数

使用此选项生成文件大小:

for /f "delims=" %%a in ('powershell %FileSize% / 1048576') do (set SizeMB=%%a)
有没有一种合适而简单的方法把小数取整


提前谢谢。

如果我理解,可能需要:

将delims=更改为tokens=1,2

将第一部分的结果放入下一部分,分成两部分

将第一个%%i放入整数变量 取%%j,加上000防止x,000一些像x,乘以000%\u大小:~0,3% 取子字符串中的最后3个字符,按%\u Sizedec:~3%形成十进制值 将%%I+最后3个连接到%%I,%\u Sizedec:~3%: 设置文件大小=98888765 对于'powershell%FileSize%/1048576'中的/f令牌=*%%a 对于/f标记=1,2 delims=,%%i在'echo/%%a'do中 设置大小=%%j 设置_Size=000%_Size:~0,3% 集合_SizeMB=%%i,%%u SizeDec:~3% echo/%\u SizeMB%
您可以使用PowerShell轻松地将文件大小以MB为单位显示到小数点后3位,但是,使用cmd.exe检索以字节为单位的文件大小,然后使用PowerShell修改结果似乎毫无意义。您能否扩展提供的代码,以查看是否有更有效的方法来执行整个任务。powershell-nop-c'{0:n3}MB'-f%filesize%/1MB@LotPings:非常感谢。它又短又简单!或者,对于'PowerShell-NoP[Math]:Round%FilesSize%/1048576,3'中的/F%%A,请设置SizeMB=%A;但请注意我之前的评论。你为什么不把这个问题称为鲍威尔?