Zahlen formatieren mit PowerShell

Das Formatieren von Zahlen in PowerShell ist kein Problem. Oft wird ein Wert ausgelesen, oder Berechnungen durchgeführt, doch die Anzeige des Integer-Wertes ist nicht schön. Deswegen gibt es in PowerShell die Möglichkeit Zahlen formatieren zu lassen, um sie besser Lesen zu können. Hierzu wird kein spezielles Cmdlet benötigt.

Zahlen formatieren mit PowerShell

Windows PowerShell ist sehr mächtig und bietet uns auch die Möglichkeit Integer-Werte in ein anderes Format zu wandeln. Gemeint ist damit die Darstellung, beziehungsweise Umwandlung von Zahlen. Folgende Formatierungen können mit Integer-Werten durchgeführt werden:

  • Nummerisch (Numeric)
  • Währung (Currency)
  • Dezimal (Decimal)
  • Prozent (Percentage)
  • Hexadezimal (Hexadecimal)

Ein Standard-Aufruf zum Formatieren von Werten lautet wie folgt:

"{0:N0}" -f $WERT
  • Die „0“ vor dem Doppelpunkt gibt den Index an, dieser bleibt beim Formatieren in der Regel 0.
  • Das „N“ ist das Spezifikationssymbol, und gibt in diesem Fall an, dass der Wert nummerisch gewandelt werden soll.
  • Die „0“ nach dem Spezifikations-Symbol gibt die Genauigkeit nach dem Komma an. „N3“ würde daher 3 Stellen nach dem Komma ausgeben.

Als Beispiel nutze ich die Entfernung von München nach Berlin in Meter.

$AbstandMUCBER= 585000
"{0:N0} m" -f $AbstandMUCBER
 
#Ausgabe
#585.000 m

Spezifikations-Symbole (Specifier)

Wie oben schon genannt, ist es möglich verschiedene Formate von Integer Werten zu wandeln. So ist es möglich Nummerisch zu formatieren, Zahlen als Währung, Dezimal, als Prozentsatz oder sogar Hexadezimal auszugeben. Damit PowerShell weiß, wie die Zahl formatiert werden soll, gibt es die Spezifikationssysmbole.

  • N = Nummerisch
  • C = Währung
  • D = Dezimal
  • P = Prozent
  • X = Hexadezimal

Somit ist es ganz einfach Zahlen in einem bestimmten Form ausgeben zu können. Als Beispiel an der Zahl 70:

$wert = 70
"{0:N2}" -f $wert
"{0:D6}" -f $wert
"{0:C2}" -f $wert
"{0:P0}" -f $wert
"{0:X0}" -f $wert

#AUSGABE
70,00
000070
70,00 €
7.000 %
46
Zahlen formatieren mit PowerShell

Wichtig ist also den richtigen Specifier zu nutzen.

Zahl in nummerischen Wert formatieren

Um einen Integer-Wert in eine nummerische Zahl zu wandeln, kann man den gleichen Befehl verwenden, der schon im Beispiel genutzt wurde.

"{0:N2}" -f 89

Als Ergebnis wird „89,00“ ausgegeben, da zwei Nachkommastellen angegeben wurden.

Wert in eine Währung wandeln

Oft möchte man eine Zahl auch als Währung ausgeben. Genutzt wird dazu die vom System verwendete Währung, beziehungsweise das Land. Da vor allem der Cent-Bereich bei einer Währung interessant ist, benutzen wir folgenden Befehl:

"{0:C2}" -f 89

Als Ergebnis liefert uns PowerShell „89,00 €“.

Integer in eine Dezimal-Zahl formatieren

Eine einfache Zahl möchte man oft als Dezimal-Zahl darstellen. Oft ist es auch nötig den Wert in einer 6-stelligen Darstellung anzuzeigen. Hierfür wird folgendes verwendet:

"{0:D6}" -f 89

Hier liefert PowerShell „000089“ als Ergebnis.

Zahl als Prozent-Wert ausgeben

PowerShell kann auch Zahlen als Prozent-Wert ausgeben. Der Vorteil ist auch hier, dass das Prozent-Zeichen mit ausgegeben wird. Hier verwenden wir den Specifier „P“.

"{0:P0}" -f 89

Das Ergebnis ist hier „8.900 %“.

Zahl als Hexadezimalen Wert formatieren

Zum Schluss möchte ich noch zeigen, wie man eine Zahl zu einem hexadezimalen Wert formatiert. Auch hier ist der PowerShell Befehl sehr ähnlich:

"{0:X0}" -f 89

Hexadezimal ist die Zahl 89 der Wert „59“.

Johannes Huber
 

In seiner Freizeit macht Johannes nichts lieber, als für ITnator Beiträge zu schreiben. Input bekommt er hierfür von Problemen in der IT Administration von Servern, Clients und vielen weiteren IT Komponenten.

sidebar
>