1

我对 Powershell 中的小脚本有疑问。这是我的脚本:

$number = Read-Host "Enter a number"
if ($number -lt 3){
    Write-Host "Number is too low."
    break
}

25但是,例如,当我输入时,if条件仍然计算为真。

4

1 回答 1

2

Read-Host总是返回一个字符串,并与作为 LHS 的字符串-lt进行词法比较:

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
}
于 2018-10-16T00:34:14.130 回答