这是我找到值的平方的函数:
function Get-Square($value)
{
$result = $value * $value
return $result
}
$value = Read-Host 'Enter a value'
$result = Get-Square $value
Write-Output "$value * $value = $result"
PS C:\Users> .\Get-Time.ps1 Enter a value: 4 4 * 4 = 4444
为什么结果4444而不是16?谢谢。
答案 0 :(得分:5)
似乎$value
正在返回一个字符串,并且字符串对powershell中的任何值进行处理,导致 string 重复值次。您需要将powershell视为function Get-Square([int]$value)
{
$result = $value * $value
return $result
}
$value = Read-Host 'Enter a value'
$result = Get-Square $value
Write-Output "$value * $value = $result"
作为整数。试试这个:
console.log($("#2524 option:contains('dist123')").length);
答案 1 :(得分:5)
除了Alistair关于转换的回答,string
返回Read-Host
到int
之外,您可能还想使用数学库对值进行平方。
function Get-Square([int] $value)
{
$result = [Math]::Pow($value,2)
return $result
}
$value = Read-Host 'Enter a value'
$result = Get-Square $value
Write-Output "$value * $value = $result"
输入值:4
4 * 4 = 16
答案 2 :(得分:-1)
就像“4”*“4”,PowerShell将第二个“4”转换为int,因此返回“4444”。
4 * 4 = 16
"4" * "4" = "4444"
"4" * 4 = "4444"
4 * "4" = 16