如何使用Powershell在写入主机中指定变量类型

时间:2018-12-13 14:05:54

标签: powershell

如果我有一个名为$ number的变量,并且具有以下Cmdlet:

Write-host "The final number is $number"

在写主机Cmdlet中是否可以将其设置为整数。

3 个答案:

答案 0 :(得分:3)

我不确定您要完成什么。

如果我们这样做:

$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仍将是字符串类型。

答案 1 :(得分:0)

非常不清楚您要问的是什么,但是从字面上理解您的问题,那么您可以:

aggregate(v ~ w, df, sum)
  w   v
1 1 250
2 2 124
3 3  89

如果您的意思是“转换为int”,那么可以,这也是可能的:

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

答案 2 :(得分:0)

要在字符串中插入整数,可以使用:

.~

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

在两种情况下,write-host "The final number is $([int]$Number)" 在形成字符串之前都会转换为$Number。但是在形成字符串时,[int] ist强制转换为[int]$Number