PowerShell:
Zaokrąglanie liczb

Jak to zrobić:

W PowerShellu masz kilka przydatnych poleceń cmdlet i metod do zaokrąglania:

  • Metoda Round() z klasy Math
[Math]::Round(15.68) # Zaokrągla do 16
  • Określanie miejsc dziesiętnych:
[Math]::Round(15.684, 2) # Zaokrągla do 15.68
  • Ceiling() i Floor(), zawsze zaokrąglając w górę lub w dół:
[Math]::Ceiling(15.2) # Zaokrągla w górę do 16
[Math]::Floor(15.9) # Zaokrągla w dół do 15

Dogłębnie

Zaokrąglanie liczb nie jest nowością; istnieje od czasów starożytnych, przydatne w handlu, nauce i pomiarze czasu. Mówiąc o PowerShellu, [Math]::Round() domyślnie stosuje “Zaokrąglanie bankowe”, gdzie 0,5 kierowane jest do najbliższej parzystej liczby, co redukuje błędy w operacjach statystycznych.

Nie jesteś jednak ograniczony tylko do metod [Math]. Chcesz więcej kontroli? Sprawdź [System.Math]::Round(Number, Digits, MidpointRounding), gdzie możesz ustawić sposób traktowania punktów środkowych: od zera lub do parzystej (czyli zaokrąglanie bankowe).

Inna perspektywa: obiekt System.Globalization.CultureInfo. Pomaga w lokalnospecyficznym formatowaniu i preferencjach zaokrąglania, gdy zajmujesz się międzynarodowymi liczbami.

Zobacz także

  • Oficjalna dokumentacja Microsoft na temat metod Math: Link
  • Specyfika zaokrąglania liczb dziesiętnych w .NET: Link
  • Dyskusje na temat zaokrąglania w StackOverflow: Link