如何在没有逗号的情况下格式化powershell输出为十进制? 我使用'{0:N2}'-f $ a但是我不想要成千上万的逗号。
答案 0 :(得分:7)
有许多不同的格式字符串。在你的情况下,我会建议:
'{0:d2}' - f $ a
一个很好的参考是String Formatting in C#
实际上这里有一些例子:
$a = 124000.4201
'{0:g2}' -f $a
1.2e+05
'{0:f2}' -f $a
124000.42
# and since it is using the .net formatter for all this after all
'{0:00.0000}' -f $a
124000.4201
答案 1 :(得分:0)
您可以尝试以下代码段:
'{0:N2}' -f $a | foreach {$_.replace(",","") }
答案 2 :(得分:0)
尝试使用.net class:
[string]::Format("{0:0.00}" ,$a)
答案 3 :(得分:0)
使用0作为精度说明符
PS> $a = 123.456
PS> '{0:N0}' -f 123.456
123
您也可以转换为int:
PS> [int]$a
123
或使用正则表达式获取任何字符,直到点
PS> $a -replace '^([^.]+).+','$1'
123
或使用split:
PS> "$a".split('.')[0]
123
或数学......
PS> [math]::Floor($a)
123
还有很多其他方法。