Powershell if -lt 问题; returns 如果条件为假则为真
Powershell if -lt problem; returns true if the condition is false
Powershell 中的小脚本有问题。
这是我的脚本:
$number = Read-Host "Enter a number"
if ($number -lt 3){
Write-Host "Number is too low."
break
}
但是当我输入 25
时,if
条件仍然计算为真。
Read-Host
总是 returns 一个 string,并且 -lt
执行 lexical 比较字符串作为 LHS:
PS> '25' -lt 3
True # because '2' comes lexically before '3'
您必须将从 Read-Host
返回的字符串转换为 数字 才能执行 数字 比较:
[int] $number = Read-Host "Enter a number"
if ($number -lt 3){
Write-Host "Number is too low."
break
}
Powershell 中的小脚本有问题。 这是我的脚本:
$number = Read-Host "Enter a number"
if ($number -lt 3){
Write-Host "Number is too low."
break
}
但是当我输入 25
时,if
条件仍然计算为真。
Read-Host
总是 returns 一个 string,并且 -lt
执行 lexical 比较字符串作为 LHS:
PS> '25' -lt 3
True # because '2' comes lexically before '3'
您必须将从 Read-Host
返回的字符串转换为 数字 才能执行 数字 比较:
[int] $number = Read-Host "Enter a number"
if ($number -lt 3){
Write-Host "Number is too low."
break
}