Ich hatte gehofft, dass jemand mich mit den folgenden helfen könnte:PowerShell: Was ist der Unterschied zwischen 1234 und (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)
Die oben genannten Erträge:
MyField : 1234
ich erwartet hatte, aber:
MyField : 1,234.00
Das erwartete Ergebnis ist Korrekt zurückgegeben, wenn ich um 1234:
Bewertungsauszeichnungen hinzufügenDie Formatierung funktioniert auch ohne die Auswertungsklammern, wenn sie direkt aufgerufen wird, anstatt in die Funktion 'Get-FormattedNameValuePair' eingeschlossen zu werden.
[string] $name = "MyField"
[object] $value = 1234
Write-Output "$("{0,-24}" -f $name) : $("{0,15:N2}" -f $value)"
Kann jemand das obige Verhalten erklären?
Danke Keith, ich bin auf PS Version 2.0 wie von $ Host.Version gezeigt. Ich erhalte das Ergebnis "MyField: 1234", während ich "MyField: 1,234.00" erwartet habe. Welches Ergebnis bekommst du? –
@MikeRosenblum Ich konnte dies auch auf V2 wiederholen. Meine Antwort wurde aktualisiert, um zu erklären, was vor sich geht. –
Hervorragende Antwort Keith, danke, dass du dir die Zeit genommen hast, dies gründlich zu überprüfen. –