gpt4 book ai didi

powershell - 为什么 PowerShell 中的整数按数字进行比较?

转载 作者:行者123 更新时间:2023-12-03 21:22:23 26 4
gpt4 key购买 nike

我的代码会告诉您您猜到的数字是高于还是低于随机生成的数字,但它似乎只在其中一个数字小于 10 时才比较数字的第一个数字。

[int]$GeneratedNum = Get-Random -min 1 -max 101
Write-Debug $GeneratedNum

$isQuitting = $false
Do{
[int]$Input = Read-Host "Take a guess!"

If($Input -lt $GeneratedNum){Write-Output "Too Low"}
If($Input -gt $GeneratedNum){Write-Output "Too High"}
If($Input -eq $GeneratedNum){Write-Output "Good Job!"; $isQuitting = $true}

} Until($isQuitting -eq $true)

例如,当 $GeneratedNum = 56$Input = 7 ,它返回 "Too High"

最佳答案

这是因为您将字符串与整数进行比较。顺序很重要。

"56" -lt 7

实际上是一样的:

"56" -lt "7"

或者:

56 -lt "7"

会给你正确的结果。 PowerShell 尝试将右侧参数强制转换为左侧的类型。

您可以尝试显式转换:

[int]$Input -lt $GeneratedNum

关于powershell - 为什么 PowerShell 中的整数按数字进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31146984/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com