6
我希望有人能帮助我走出了以下内容:PowerShell:1234和(1234)之间有什么区别?
Function Get-FormattedNameValuePair([string] $name, [object] $value)
{
return "$("{0,-24}" -f $name) : $("{0,15:N2}" -f $value)"
}
Write-Output (Get-FormattedNameValuePair -name MyField -value 1234)
以上的回报:
MyField : 1234
我所期待的,但是:
MyField : 1,234.00
预期的结果是正确返回,如果我添加评估括号围绕1234:
Write-Output (Get-FormattedNameValuePair -name MyField -value (1234))
如果直接调用而不是包装在“Get-FormattedNameValuePair”函数中,则格式化也可以在没有评估括号的情况下起作用。
[string] $name = "MyField"
[object] $value = 1234
Write-Output "$("{0,-24}" -f $name) : $("{0,15:N2}" -f $value)"
任何人都可以解释上述行为?
感谢Keith,我在PS版本2.0上显示$ Host.Version。我得到结果“MyField:1234”,而我期待“MyField:1,234.00”。你会得到什么结果? –
@MikeRosenblum我也能够在V2上重现这一点。更新我的答案,解释发生了什么。 –
非常棒的回答基思,谢谢你的时间来彻底检查这一点。 –