Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Function 函数将整数或浮点舍入到Powershell中最接近的增量_Function_Powershell_Rounding - Fatal编程技术网

Function 函数将整数或浮点舍入到Powershell中最接近的增量

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

我想创建一个函数,将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 % $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)    
    }    
}