Округление чисел

PowerShell:
Округление чисел

Как это сделать:

В PowerShell есть несколько удобных cmdlet и методов для округления:

  • Метод Round() из класса Math
[Math]::Round(15.68) # Округляет до 16
  • Указание десятичных разрядов:
[Math]::Round(15.684, 2) # Округляет до 15.68
  • Ceiling() и Floor(), для округления всегда вверх или вниз:
[Math]::Ceiling(15.2) # Округляет в большую сторону до 16
[Math]::Floor(15.9) # Округляет в меньшую сторону до 15

Подробнее

Округление чисел не является новинкой; это используется с древних времен, будучи полезным в торговле, науке и измерении времени. Говоря о PowerShell, [Math]::Round() по умолчанию использует “Банковское округление”, при котором 0.5 округляется к ближайшему четному числу, сокращая предвзятость в статистических операциях.

Вы не ограничены только методами [Math]. Хотите больше контроля? Посмотрите на [System.Math]::Round(Number, Digits, MidpointRounding), где вы можете установить, как будут обрабатываться средние точки: в сторону от нуля или к четному (т.е. Банковское округление).

Еще один аспект: объект System.Globalization.CultureInfo. Он помогает с локализацией форматирования и предпочтений округления при работе с международными числами.

Смотрите также

  • Официальная документация Microsoft по методам Math: Ссылка
  • Спецификация округления десятичных чисел в .NET: Ссылка
  • Обсуждения округления на StackOverflow: Ссылка