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
将数学与powershell函数结合使用_Powershell - Fatal编程技术网

将数学与powershell函数结合使用

将数学与powershell函数结合使用,powershell,Powershell,我试图在函数中进行数学运算。在函数之外,我可以让它工作,但在函数中,我可以 “方法调用失败,因为[system.int32[]不包含名为'op_division'的方法” 函数固定大小{ param( [int[]]$fixme ) 如果($fixme-lt 1mb){ $fixme1=([system.math]::round($fixme/1kb,1)) } 写入主机$fixme1 } 语法“[int[]”表示$fixme是一个int数组,不能对数组执行除法 因此,您需要将参数定义更改为

我试图在函数中进行数学运算。在函数之外,我可以让它工作,但在函数中,我可以 “方法调用失败,因为[system.int32[]不包含名为'op_division'的方法”


函数固定大小{
param(
[int[]]$fixme
)
如果($fixme-lt 1mb){
$fixme1=([system.math]::round($fixme/1kb,1))
} 
写入主机$fixme1
}

语法“[int[]”表示$fixme是一个int数组,不能对数组执行除法

因此,您需要将参数定义更改为
param([int]$fixme)
,或者,如果您确实想对多个数字进行操作,则需要在函数内部进行更多处理,如:

function fix-size { 
    param ([int[]]$fixme)
    foreach ($number in $fixme) {
        if ($number -lt 1mb) {
            ([system.math]::round($number / 1kb, 1))
        }
    }
}

“[int[]”语法表示$fixme是一个int数组,不能对数组执行除法

因此,您需要将参数定义更改为
param([int]$fixme)
,或者,如果您确实想对多个数字进行操作,则需要在函数内部进行更多处理,如:

function fix-size { 
    param ([int[]]$fixme)
    foreach ($number in $fixme) {
        if ($number -lt 1mb) {
            ([system.math]::round($number / 1kb, 1))
        }
    }
}

为什么参数有
[int[]]
?为什么参数有
[int[]]