PowerShell Round&格式Float到最多2位小数?

时间:2014-06-04 12:06:35

标签: powershell floating-point format

我发现很多东西可以将花车格式化为常见的已知数字, 但是如何将浮点数格式化为最多2位小数,但只有在需要小数的情况下?

示例:

  1.11 # not 1.111
  1.12 # it was 1.116 (round up)
  1.1  # not 1.10
  1    # not 1.00

如果我这样做

  $('{0:N2}' -f $flt)

我得到了

  1.00 # :(

提前致谢!

2 个答案:

答案 0 :(得分:23)

使用[math]::round,即:

[math]::round(1.111,2)

将返回1.11

[math]::round(1.00,2)

收益1

答案 1 :(得分:5)

您可以使用custom numeric format string中的#字符在值中包含非零数字。

> 1.001,1.101,1.111 | % { '{0:0.##}' -f $_ }
1
1.1
1.11

N2 standard numeric format string基本上等同于0.00,它产生固定数量的小数位数。