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

スポンサーリンク

鍛錬 686

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

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

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

[Math]::Floor(切り下げ対象の倍精度浮動小数点数)

引数

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

引数
切り下げ対象の倍精度浮動小数点数 Double

戻り値

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

戻り値
小数点以下を切り下げた後の数値 Double
スポンサーリンク

スクリプト

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

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

確認する順番 切り下げ対象の数値
1回目 3.45
2回目 0.45
3回目 -0.45
4回目 -3.45
取得する値
小数点以下を切り下げた後の数値
# 変数初期化
[System.Double]$num = 0
[System.Double]$result = 0

# 倍精度浮動小数点数の小数点以下を切り下げる
$num = 3.45
$result = [Math]::Floor($num)
echo "指定した値が  $num の場合 --> $result"

$num = 0.45
$result = [Math]::Floor($num)
echo "指定した値が  $num の場合 --> $result"

$num = -0.45
$result = [Math]::Floor($num)
echo "指定した値が $num の場合 --> $result"

$num = -3.45
$result = [Math]::Floor($num)
echo "指定した値が $num の場合 --> $result"
スポンサーリンク

実行結果

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

PS D:\tmp>
PS D:\tmp> .\get_floor.ps1
指定した値が  3.45 の場合 --> 3
指定した値が  0.45 の場合 --> 0
指定した値が -0.45 の場合 --> -1
指定した値が -3.45 の場合 --> -4

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

端数処理で「負の無限大への丸め」が行われるため、マイナスの数値である「-0.45」と「-3.45」は、それぞれ「-1」と「-4」に丸められています。

確認した値 取得した値
3.45 3
0.45 0
-0.45 -1
-3.45 -4
タイトルとURLをコピーしました