如何在 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”规则,这意味着与 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 框架的 Math 类执行其他舍入操作。
这些函数提供了所需的灵活性,可以根据您的特定要求定制计算,确保在 PowerShell 脚本中的精确性。
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn