2013-10-01 67 views
0

我試圖在一個函數內執行數學。功能之外,我能得到它的工作,但在功能我得到 「方法調用失敗,因爲[system.int32 []不包含名爲法‘op_division’」使用數學與PowerShell功能

function fix-size { param( [int[]]$fixme ) if ($fixme -lt 1mb) { $fixme1 = ([system.math]::round($fixme/1kb, 1)) } write-host $fixme1 }

+0

爲什麼你有'[int []]'參數? –

回答

4

'[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)) 
     } 
    } 
}