PowerShell Round和Format Float最多2位小数?

goo*_*oly 13 format floating-point powershell

我发现很多东西可以将浮点数格式化为常见的已知数字,但是如何将浮点数格式化为最多2位小数,但仅当需要小数时?

例子:

  1.11 # not 1.111
  1.12 # it was 1.116 (round up)
  1.1  # not 1.10
  1    # not 1.00
Run Code Online (Sandbox Code Playgroud)

如果我做

  $('{0:N2}' -f $flt)
Run Code Online (Sandbox Code Playgroud)

我明白了

  1.00 # :(
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Raf*_*Raf 26

使用[math]::round,即:

[math]::round(1.111,2)
Run Code Online (Sandbox Code Playgroud)

将返回1.11

[math]::round(1.00,2)
Run Code Online (Sandbox Code Playgroud)

产量 1


Emp*_*LII 7

您可以使用#一个角色自定义数字格式字符串包括在值非零数字.

> 1.001,1.101,1.111 | % { '{0:0.##}' -f $_ }
1
1.1
1.11
Run Code Online (Sandbox Code Playgroud)

N2 标准数字格式字符串基本上等同于0.00,其产生的十进制数字的固定号码.