PowerShell – 16 – Formatieren von Zahlen

In diesem Beitrag möchte ich die Formatieren von Integer unter PowerShell etwas näher beschreiben. Oft sehen lange Zahlen schnell unübersichtlich aus. Da ist es hilfreich diese Zahlen in ein für das Auge lesbares Format zu bringen ohne dabei den eigentlichen Inhalt der Variable zu verändern.

Als repräsentative Zahlen dienen uns der Abstand zwischen Erde und Mond, Dies sind 384400 km. Leserlicher ist es in einem Format mit einem Punkt in Tausenderschritten; 364.400 km. Es ist auch möglich die Formatierung in Dezimal, Hexadezimal, Prozentual Werte oder als Betrag in einer Währung darzustellen.

Die Formatierung wird mittels .NET realisiert und sollte Programmierern aus C, C++ oder C# geläufig sein.

Der Parameter –f gibt an welche Variable formatiert werden soll. Leider können nicht mehrere Werte hintereinander gesetzt werden wie im folgendem Beispiel.
Geht nicht:

Was allerdings geht ist den Wert vorher zu konvertieren und in der Variable zu speichern. Verdeutlicht an der Variable $AbstandErdeSonne.

Dabei wird der Integer (Int32) in ein String gewandelt. Zum weiteren rechnen müsste dieser wieder in einen Integer formatiert werden. Für die gewünschte Textausgabe ist dies aber genau richtig.

Was was geschieht in den geschweiften Klammern?

In den geschweiften Klammer wird die Notation der der Variable festgelegt. Diese besteht aus drei Teilen.

{0:N0}

  1. Der Null vor dem Doppelpunkt. Dies ist der Index. Für unsere Beispiele bleibt dieser auf Null gesetzt
  2. Dem N. Dies ist das Spezifikationssymbol und weist auf Nummerische Werte hin. Es sind weiter möglich.
  3. Die letzte Null. Diese bestimmt die Genauigkeit nach dem Komma (precision specifier).  {0:N2} zeigt nach dem Komma 2 Stellen an.

Ich möchte nun noch die weiteren Formatierungsmöglichkeiten genauer aufzeigen, dazu dient die folgende Tabelle zur Übersicht.

Name Spezifikationssymbol (Specifier)
Nummerisch
(Numeric)
N
Währung
(Currency)
C
Dezimal, Gleitkommazahl
(Decimal)
D
Prozentsatz
(Percentage)
P
Hexadezimal
(Hexadecimal)
X

Beispiele zur Formatierung

Für Formatierung  in eine Währung (C) bietet es sich an die Genauigkeit auf 2 zu setzen. Der Wert für die Prozentrechnung (P) wird mit 100 multipliziert.

Weiterführende Beispiele gibt es hier: https://technet.microsoft.com/en-us/library/ee692795.aspx (englisch).

rewe

Ein Gedanke zu „PowerShell – 16 – Formatieren von Zahlen“

  1. „Der Parameter –f gibt an welche Variable formatiert werden soll. Leider können nicht mehrere Werte hintereinander gesetzt werden wie im folgendem Beispiel.“
    Natürlich geht das – es muss nur der Index angepasst werden. Also beim zweiten Eintrag nicht {0…, sondern {1…}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert