Speravo che qualcuno mi potrebbe aiutare con le seguenti:PowerShell: Qual è la differenza tra 1234 e (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)
I rendimenti di cui sopra:
MyField : 1234
mi aspettavo, però:
MyField : 1,234.00
Il risultato atteso è restituito correttamente se aggiungo parentesi di valutazione attorno al 1234:
Write-Output (Get-FormattedNameValuePair -name MyField -value (1234))
La formattazione funziona anche senza parentesi di valutazione se viene richiamata direttamente anziché inserita nella funzione 'Get-FormattedNameValuePair'.
[string] $name = "MyField"
[object] $value = 1234
Write-Output "$("{0,-24}" -f $name) : $("{0,15:N2}" -f $value)"
Qualcuno può spiegare il comportamento sopra?
Grazie Keith, sono su PS versione 2.0 come mostrato da $ Host.Version. Ottengo il risultato "MyField: 1234", mentre mi aspettavo "MyField: 1,234.00". Che risultato ottieni? –
@MikeRosenblum Sono stato in grado di riprodurre anche questo su V2. Aggiornato la mia risposta per spiegare cosa sta succedendo. –
Risposta superba Keith, grazie per averci dedicato un po 'di tempo per verificarlo. –