как указать тип переменной в write-host с помощью powershell - PullRequest
0 голосов
/ 13 декабря 2018

Если у меня есть переменная с именем $ number, и у меня есть следующий командлет:

Write-host "The final number is $number"

Существует ли метод для установки целочисленного значения в командлете записи хоста.

Ответы [ 3 ]

0 голосов
/ 13 декабря 2018

Очень непонятно, о чем вы спрашиваете, но, принимая ваш вопрос буквально, тогда да, вы можете:

Write-host "The final number is $([int]$number = 42)"
# OUTPUT:
# The final number is 42

Если вы имеете в виду «преобразовать в int», то да, это также возможно:

$number = 12.34
Write-host "The final number is $([int]$number)"
# OUTPUT:
# The final number is 12
0 голосов
/ 13 декабря 2018

Чтобы вставить целое число в строку, вы можете использовать:

write-host 'The final number is {0}' -f ([int]$Number)

или

write-host "The final number is $([int]$Number)"

В обоих случаях $Number преобразуется в [int] до того, как строкаформируется.Но когда строится строка, все равно [int]$Number преобразуется .toString().

0 голосов
/ 13 декабря 2018

Я не уверен, что вы пытаетесь выполнить.

Если мы сделаем это:

$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 в этом случае все равно будет строковым типом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...