如何在 PowerShell 中四舍五入数字

  1. 在 PowerShell 中截断数字
  2. 在 PowerShell 中向下舍入到整数
  3. 在 PowerShell 中向上舍入到整数
  4. 在 PowerShell 中进行四舍五入(算术舍入)
  5. 在 PowerShell 中进行一般舍入
  6. 结论
如何在 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 脚本中的精确性。

Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn