没有逗号的Powershell十进制格式

时间:2012-02-09 20:14:33

标签: powershell

如何在没有逗号的情况下格式化powershell输出为十进制? 我使用'{0:N2}'-f $ a但是我不想要成千上万的逗号。

4 个答案:

答案 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

还有很多其他方法。