PowerShell取整需求:数值超过0.4时进位取整(如2.4→2,2.5→3)
自定义PowerShell取整实现
可以通过编写一个简单的函数来实现你需要的取整规则:当小数部分大于0.4时向上取整,小于等于0.4时向下取整。
function Get-CustomRound { param( [Parameter(Mandatory=$true)] [double]$Number ) # 分离整数部分与小数部分 $integerPart = [math]::Floor($Number) $decimalPart = $Number - $integerPart # 根据小数部分判断取整方向 if ($decimalPart -gt 0.4) { $integerPart + 1 } else { $integerPart } }
用法示例
调用函数测试不同数值:
Get-CustomRound -Number 2.4 # 输出:2 Get-CustomRound -Number 2.5 # 输出:3 Get-CustomRound -Number 1.0 # 输出:1 Get-CustomRound -Number 3.4999 # 输出:3 Get-CustomRound -Number 3.50001 # 输出:4
逻辑说明
- 用
[math]::Floor()获取输入数值的整数部分,该方法会直接向下取整得到整数部分。 - 通过原数减去整数部分,分离出小数部分。
- 对比小数部分与0.4:若小数部分大于0.4,则将整数部分加1实现向上取整;否则直接返回整数部分。
注:上述逻辑默认处理负数时遵循同样规则(如-2.5返回-2,-2.4返回-3),若需调整负数的取整逻辑,可修改判断条件。
内容的提问来源于stack exchange,提问作者Igor Ostapenko
相关产品推荐
相关产品推荐

