我有一个程序,我只是想检查一个负数,但它不喜欢它.有什么提示吗?
$numbers = @(0,1,2,3,4,5,6,7,8,9,-1,-2,-3,-4,-5,-6,-7,-8,-9)
$number = Read-Host "Please input a number: "
if ($number -le 0)
{
Write-Output "Thanks for using the program! Exitting now..."
$finished = 1
}
elseif ($number -notin $numbers)
{
Write-Error "Input must be numeric"
continue
}
else
{
Write-Host "Good number!"
}
Run Code Online (Sandbox Code Playgroud)
Read-Host产生[string]输出,所以你实际上正在进行字符串比较,而不是得到你期望的结果.演员$number进行[int]数学比较:
if ([int]$number -le 0)
Run Code Online (Sandbox Code Playgroud)