2017-08-31 13 views
1

は、この単純なコード考えてみましょう:1戻り1111111111を入力別々のコマンド

$myObject = New-Object PSCustomObject 
$myObject | Add-Member -MemberType ScriptMethod -Name 'Multiply' -Value { $x=Read-Host; $x = $x * 10; Write-Host "$x" } 
$myObject.Multiply() 

を私は値が10ことを期待します。

どうしたのですか?

答えて

2

ザッツあなたは$x.GetType()を呼び出すことで確認することができますよう$x文字列ですので:

IsPublic IsSerial Name          BaseType 
-------- -------- ----          -------- 
True  True  String         System.Object 

あなたは[double]に変数をキャストすることによって、これを修正することができます

$x=Read-Host; $x = [double]$x * 10; Write-Host "$x"