Powershell: Formatowanie napisów

27-Mar-2016

Jak wiesz w Powershell mamy dostęp do wszystkich funkcji .NET. A zbiór funkcji .NET dotyczący formatowania napisów jest naprawdę olbrzymi! Wystrczy przyjrzeć się dokumentacji funkcji ToString(), która potrafi zrobić napis praktycznie ze wszystkigo. Oczywiście do zbudowania ładnego napisu w powershell nie trzeba znać wszyskich możliwych funkcji. Oto jedn użyteczny przykład:

[string]::Format("Value {0:0.00} and value {1:p}", 1.23, 0.45)

Wywołujemy tutaj fukcję statyczną typu string. Wywołanie buduje się w ten sposób, że do nazwy typu po podwójnym dwukropku dodajesz nazwę funkcji, u nas:

[string]::Format

No i teraz najciekawsze, czyli jak wyglądają argumenty funkcji Format.

  • Pierwszy argument to napis, który definiuje miejsca i format, w których mają się pojaić dynamiczne elementy napisu.
    • Część napisu jest stała
    • Zapis {0:0.00} oznacza: na zerowym miejscu (bo numerujemy od zera) ma się znaleźć pierwsza wartość przekazana do funkcji format po przecinku i ma być to liczba z dwoma miejscami po przecinku
    • Zapis {1:p} oznacza: na pierwszym miejscu (czyli na drugim bo numerujemy od zera) ma się znaleźć druga wartość do sformatowania przekazana do funkcji format, i należy ją wyświetlać jako procent (literka p)
  • Pierwsza wartość do sformatowania – tutaj po porstu liczba dziesiętna
  • Druga wartość do sformatowania – tutaj procent

Najważniejsze więc to wiedzieć jakie sposoby formatowania posiadamy. Oto kilka przykladów:

Dodajmy jeszcze, że ku naszej wygodzie wspomniane na początku polecenie można też zapisać:

"Value {0:0.00} and value {1:p}" -f (1.23, 0.45)

Dla każdego coś miłego!

Dodaj komentarz:

Autor: Rafał Kraik