你可能会需要已不同的单元格式输出某个数字,用字节是最精准的方式,但是有时候你更喜欢用KB或M来显示数字。
下面演示一个重写tostring()技巧:你可以自定义数字对象的结尾,得到你想要的各种格式。
这里变量的类型不会改变其类型,后续还可以进行比较和排序。
#requires -Version 1 $a = 1257657656 $a = $a | Add-Member -MemberType ScriptMethod -Name tostring -Force -Value { param($Unit = 1MB, $Digits=1, $Suffix=' MB') "{0:n$Digits}$Suffix" -f ($this/($Unit)) } -PassThru
我们再来看看例子:
PS> $a 1.199,4 MB PS> $a.ToString(1GB, 0, ' GB') 1 GB PS> $a.ToString(1KB, 2, ' KB') 1.228.181,30 KB PS> $a -eq 1257657656 True PS> $a -eq 1257657657 False PS> $a.GetType().Name Int32
原文地址:Outputting File Sizes in Different Formats
本文链接: https://www.pstips.net/outputting-file-sizes-in-different-formats.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!