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