2016-11-23 3 views
2

私は非常にPowerShellを使い慣れていて、文字列を整数に変換しようとすると壁にぶつかっています。Windows Powershellでどのようにデータ型を変換しますか?

次のコマンドを実行すると:Get-DefaultAudioDeviceVolumeしばしば、文字列であることが確認された50.05816%のような番号を返します。私はこれを整数整数(50)に変換する必要があります。明らかに、私はスクリプト内で整数をハードコーディングすることができますが、スクリプトの目的のためには変換に柔軟性が必要です。以前のテストの結果が変更され、整数全体をさらに下に渡したいと思います。

ありがとうございます!

答えて

2

だけで何もして「%」を整数と置き換えるために、それをキャスト:

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

PowerShellは、自動型キャストを行い、左から開始します。したがって、$ varが整数として定義されている場合、右辺を同じ型に変換しようとします。文字列は、あなたがこれを削除する必要があります%記号が含まれている場合

+0

本当に "%"の結果が返されています。スクリプトを実行しようとすると、次のエラーメッセージが表示されます。 値 "50.05816%"を "System.Int32"に変換できません。エラー:「入力文字列が正しい形式ではありませんでした。 –

+1

答えを修正しました。ジェームズC.はちょうど同様にうまくいくはずです。 – whatever