Function 函数将整数或浮点舍入到Powershell中最接近的增量
我想创建一个函数,将Powershell中的数字四舍五入到最接近的增量5。每个小于1的数字应四舍五入为1,但每个大于1的数字应四舍五入为5(5、10、15等) 我提出了以下函数,但想知道是否有更简单的方法Function 函数将整数或浮点舍入到Powershell中最接近的增量,function,powershell,rounding,Function,Powershell,Rounding,我想创建一个函数,将Powershell中的数字四舍五入到最接近的增量5。每个小于1的数字应四舍五入为1,但每个大于1的数字应四舍五入为5(5、10、15等) 我提出了以下函数,但想知道是否有更简单的方法 Function Get-Increment([float] $value, [int] $increment){ $value = [math]::Ceiling($value) if($value -gt 1){ while($value % $in
Function Get-Increment([float] $value, [int] $increment){
$value = [math]::Ceiling($value)
if($value -gt 1){
while($value % $increment){$value++}
}
return $value
}
也许这更有效(需要测试,我现在没有时间):
也许这更有效(需要测试,我现在没有时间):
我做了一些快速性能测试,你的功能确实比我的快。没什么大不了的,但运行几次还是有明显的不同。@Chrizmo感谢您的反馈;)这太棒了。我得到了一个要求,即对于一个普通版本,我们的次要版本将增加到接下来的10个值;对于一个热修复程序,我们的次要版本将增加1个值。这非常有效。我做了一些快速性能测试,您的功能确实比我的快。没什么大不了的,但运行几次还是有明显的不同。@Chrizmo感谢您的反馈;)这太棒了。我得到了一个要求:对于一个普通版本,我们的次要版本将增加到接下来的10个值;对于一个热修复程序,我们的次要版本将增加1个值,这非常有效。
Function Get-Increment([float] $value, [int] $increment=5){
if($value -gt 1)
{
[Math]::Ceiling($value / $increment) * $increment;
}
else
{
[math]::Ceiling($value)
}
}