PowerShell での数値の丸め方
- PowerShell での数値の切り捨て
- PowerShell での整数への切り下げ
- PowerShell での整数への切り上げ
- PowerShell での半分の切り上げ(算術丸め)
- PowerShell での丸めの一般的な方法
- 結論

数値を PowerShell で扱う際、特定の小数点以下の桁数に丸めたり、整数に変換したりする必要があるさまざまなシナリオがあります。
この記事では、.NET フレームワークの Math クラスの関数を使用して、PowerShell で正確な数値の丸めを達成する方法を探ります。
PowerShell での数値の切り捨て
PowerShell での切り捨ては、数値を丸めるための正確な関数ではありませんが、数値の整数部分を計算するものとみなされます。言い換えれば、この方法は整数の小数部分を切り捨てて、最も近い整数に切り下げます。
数値を切り捨てる(またはトリミングする)ために、[Math]::Truncate
という数学クラスの関数を使用します。これは、Double
データ型の整数と小数点数を受け取ります。
構文:
[Math]::Truncate(variable)
variable
: これは切り捨てたい小数を保持する変数です。Truncate
メソッドへの入力です。
例コード:
$decimalNum = 63.82
[Math]::Truncate($decimalNum)
このコードでは、まず小数 63.82
を変数 $decimalNum
に割り当てます。そして、[Math]::Truncate
関数を使用してこの小数を切り捨てます。
切り捨ては小数部分を取り除き、最も近い整数を取得することを意味し、この場合は出力に示されているように 63
です。
出力:
63
PowerShell での整数への切り下げ
[Math]::Floor
は、整数の小数部分を切り捨て、数学的に整数に切り下げる PowerShell 数学クラスの関数です。
構文:
[Math]::Floor(variable)
variable
: これは切り下げたい数値を保持する変数です。Floor
メソッドへの入力です。
例コード:
$decimalNum = 63.82
[Math]::Floor($decimalNum)
このコードでは、まず小数 63.82
を変数 $decimalNum
に割り当てます。そして、[Math]::Floor
関数を使用してこの小数を最も近い整数に切り下げます。この場合は 63
です。
出力:
63
PowerShell での整数への切り上げ
[Math]::Ceiling
は、小数を最も近い整数に切り上げる PowerShell 数学クラスの関数です。
構文:
[Math]::Ceiling(variable)
variable
: これは切り上げたい小数を保持する変数です。Ceiling
メソッドへの入力です。
例コード:
$decimalNum = 63.82
[Math]::Ceiling($decimalNum)
このコードでは、まず小数 63.82
を変数 $decimalNum
に割り当てます。そして、[Math]::Ceiling
関数を使用してこの小数を最も近い整数に切り上げます。この場合は 64
です。
出力:
64
PowerShell での半分の切り上げ(算術丸め)
算術丸めは、0.5 以上の数字が切り上げられる一般的な丸め方法です。PowerShell の [Math]::Round
関数は、丸めモードを指定せずに算術丸めに使用されます。
構文:
[Math]::Round(variable)
variable
: これは丸めたい小数を保持する変数です。Round
メソッドへの入力です。
例コード:
$decimalNum = 63.5
[Math]::Round($decimalNum)
このコードでは、まず小数 63.5
を変数 $decimalNum
に割り当てます。そして、[Math]::Round
関数を使用してこの小数を最も近い整数に丸めます。
この方法を使用する際に丸めモードを指定しない場合、"半分の切り上げ"
ルールに従い、0.5
以上の数値は最も近い整数に切り上げられます。この場合は 64
です。
出力:
64
PowerShell での丸めの一般的な方法
公式な [Math]::Round
関数を使用して、整数への丸めよりも柔軟性を持たせることもできます。
[Math]::Round
関数は二つの引数を受け入れます。最初の引数は関数が丸める小数で、二番目の引数は小数点以下の桁数に丸めるためのものです(整数には 0
、小数第 1 位には 1
、小数第 2 位には 2
、など)。
構文:
[Math]::Round(par1, par2)
par1
: これはRound
メソッドに渡す最初のパラメータです。丸めたい数を表します。par2
: これはRound
メソッドに渡す第二のパラメータです。par1
で指定された数を丸めたい小数点以下の桁数を表します。
例コード:
$decimalNum = 63.827439
[Math]::Round($decimalNum, 0)
[Math]::Round($decimalNum, 1)
[Math]::Round($decimalNum, 2)
[Math]::Round($decimalNum, 5)
このコードでは、変数 $decimalNum
に小数 63.827439
を割り当てています。次に、さまざまな小数点以下の桁数で丸めを行うために [Math]::Round
関数を使用します。
毎回、関数は小数整数を指定された小数点以下の桁数に丸め、対応する値を出力します。
出力:
64
63.8
63.83
63.82744
結論
PowerShell では、正確な数値の丸めを実現することは、正確な計算に不可欠です。数値を簡単に切り上げたり切り下げたり、または他の丸め操作を.NET フレームワークの Math クラスを使用して実施できます。
これらの関数は、計算を特定の要件に合わせて調整するために必要な柔軟性を提供し、PowerShell スクリプトの正確さを保証します。
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn