如何在 PowerShell 中四捨五入數字
- 在 PowerShell 中截斷數字
- 在 PowerShell 中向下取整數
- 在 PowerShell 中向上取整數
- 在 PowerShell 中進行四捨五入(算術四捨五入)
- 在 PowerShell 中的四捨五入一般情況
- 結論

在 PowerShell 中處理數字時,可能有多種情況需要將它們四捨五入到特定小數位或將其轉換為整數。
本文探討如何使用 .NET 框架的數學類中的函數在 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
為一位小數,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)
在這段代碼中,我們將小數數字 63.827439
指派給變數 $decimalNum
。然後,我們使用 [Math]::Round
函數執行多次四捨五入,並使用不同的小數位數。
每次,該函數會將小數整數四捨五入到提供的小數位數並輸出相應的值。
輸出:
64
63.8
63.83
63.82744
結論
在 PowerShell 中,實現精確的數字四捨五入對於準確的計算至關重要。您可以輕鬆地向上或向下四捨五入數字或執行其他四捨五入操作,使用 .NET 框架的數學類。
這些函數提供了所需的靈活性,以便根據您的特定需求調整計算,確保您在 PowerShell 腳本中的精確性。
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn