Я не уверен, что вы пытаетесь выполнить.
Если мы сделаем это:
$numberAsString = '1'
$number.GetType()
, тогда вывод GetType () будет иметь строковый тип.Если вместо этого мы сделаем это:
$numberAsInteger = 1
$number.GetType()
, тогда выход GetType () будет целочисленным.
Вы также можете сделать следующее (этот пример на самом деле не имеет смысла, когдаприсваивание является явным, но, как было указано в комментариях, это может быть полезно, если вы принимаете пользовательские значения):
[int]$number = '1'
Теперь это будет целое число, даже если вы присвоили значение в виде строки,Но все это, похоже, не имеет значения для вывода write-host.Например, вы можете сделать следующее:
$number = '2'
Write-Host ('The final number is ' + ([int]$number))
Это будет работать, но выходные данные будут такими же, а $ number в этом случае все равно будет строковым типом.