如何在Windows Powershell中转换数据类型?

时间:2016-11-23 14:38:47

标签: powershell

我对powershell非常陌生,并试图将字符串转换为整数。

如果我运行以下命令:Get-DefaultAudioDeviceVolume它经常返回一个类似于50.05816%的数字,我已经确认它是一个字符串。我需要将其转换为整数整数(50)。显然我可以在我的脚本中对整数进行硬编码,但出于脚本的目的,我需要它在转换中具有灵活性。之前测试的结果发生了变化,我希望将整个整数传递到该行。

提前致谢!

2 个答案:

答案 0 :(得分:2)

只需将其转换为整数并替换"%"什么都没有:

[int]$var = (Get-DefaultAudioDeviceVolume).Replace("%","")

Powershell执行自动类型转换并从左侧开始。因此,当$ var定义为整数时,它会尝试将右侧转换为相同的类型。

答案 1 :(得分:2)

如果字符串包含%符号,则需要将其删除,然后您可以使用-as运算符转换为[int]

[string]$vol = "50.05816%"

$vol_int = $vol.Replace('%','') -as [int]

-as运算符非常有用且有许多其他用途,本文将介绍其中的一些:https://mcpmag.com/articles/2013/08/13/utilizing-the-as-operator.aspx