如果我有一个名为$number的变量,并且我有以下Cmdlet:
Write-host "The final number is $number"是否有一种方法可以在写主机Cmdlet中将其设置为整数。
发布于 2018-12-13 22:19:23
我不知道你想要实现什么。
如果我们这样做:
$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仍然是字符串类型。
发布于 2018-12-13 22:30:17
非常不清楚你在问什么,但是从字面上理解你的问题,是的,你可以:
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发布于 2018-12-13 22:34:47
要在字符串中插入整数,可以使用:
write-host 'The final number is {0}' -f ([int]$Number)或
write-host "The final number is $([int]$Number)"在这两种情况下,在形成字符串之前都会将$Number转换为[int]。但是,当字符串形成时,[int]$Number ist无论如何都会强制转换.toString()。
https://stackoverflow.com/questions/53763667
复制相似问题