数値の丸め処理

PowerShell:
数値の丸め処理

どうやって:

PowerShellには、丸め操作のためのいくつかの便利なcmdletsとメソッドがあります:

  • MathクラスからのRound()メソッド
[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上の丸めに関する議論:リンク