PowerShell,倍精度浮動小数点数の小数点以下を切り上げる

スポンサーリンク

鍛錬 678

PowerShell,倍精度浮動小数点数の小数点以下を切り上げる

指定した倍精度浮動小数点数(Double型)の端数処理を行う際に、小数点以下を切り上げて整数に丸めるには、.NETオブジェクトにおける Math クラスのスタティックメソッド、Ceiling を使用します。

Ceiling で端数処理を行う場合、数値を丸める方法として「正の無限大への丸め」が行われるため、指定した数値が負(マイナス)の場合は、指定した数値以上の最小の整数値に丸められます。
 
使用方法は、以下に示す通りです。

[Math]::Ceiling(切り上げる倍精度浮動小数点数)

引数

以下は、上記の引数についてです。

引数
切り上げる倍精度浮動小数点数 Double

戻り値

以下は、戻り値についてです。

戻り値
小数点以下が切り上げられた数値 Double
スポンサーリンク

スクリプト

以下は、指定した倍精度浮動小数点数の小数点以下を切り上げて整数に丸めるスクリプト、roundup_double.ps1 です。

今回は、次の数値について確認しています。

切り上げる数値
0.98
3.45
-9.87
取得する値
小数点以下が切り上げられた数値
# 変数初期化
[System.Double]$num = 0
[System.Double]$result = 0

# 倍精度浮動小数点数の小数点以下を切り上げる

echo "---------------------------------"

$num = 0.98
$result = [Math]::Ceiling($num)
echo "切り上げ前の数値 --> $num"
echo "切り上げ後の数値 --> $result"

echo "---------------------------------"

$num = 3.45
$result = [Math]::Ceiling($num)
echo "切り上げ前の数値 --> $num"
echo "切り上げ後の数値 --> $result"

echo "---------------------------------"

$num = -9.87
$result = [Math]::Ceiling($num)
echo "切り上げ前の数値 --> $num"
echo "切り上げ後の数値 --> $result"

echo "---------------------------------"
スポンサーリンク

実行結果

以下は、スクリプト roundup_double.ps1 を実行しています。

PS D:\tmp>
PS D:\tmp> .\roundup_double.ps1
---------------------------------
切り上げ前の数値 --> 0.98
切り上げ後の数値 --> 1
---------------------------------
切り上げ前の数値 --> 3.45
切り上げ後の数値 --> 4
---------------------------------
切り上げ前の数値 --> -9.87
切り上げ後の数値 --> -9
---------------------------------

 
上記に示した通り、指定した倍精度浮動小数点数の小数点以下を切り上げて整数に丸めることができました。

「正の無限大への丸め」で端数処理が行われるため、マイナスの数値である「-9.87」は「-9」に丸められています。

丸める前の数値 丸めた後の数値
0.98 1
3.45 4
-9.87 -9
タイトルとURLをコピーしました