2016-04-15 12 views
1

PowerShellを使用してforループでイテレータをパディングしようとしていますが、エラーメッセージが表示されます。forループのイテレータを埋め込みます。

通常のパディングが正常に動作します:

$mytext = "Test" 
Write-Host $mytext.PadLeft(5, "0") 
# Output: 0Test 

しかし、イテレータを使用することはできません:[可能System.Int32] 'という名前のメソッドが含まれていないため

for ($i=1; $i -lt 20; $i++) { 
    Write-Host $i.PadLeft(2, "0") 
} 

メソッドの呼び出しに失敗しましたPadLeft '

私はパディングの前に変数にイテレータをコピーする場合でも

ない:

for ($i=1; $i -lt 20; $i++) { 
    $Iterator = $i 
    Write-Host $Iterator.PadLeft(2, "0") 
} 

メソッドの呼び出し[可能System.Int32]「PadLeft」という名前のメソッドが含まれていないため失敗しました。

forループにはPadLeft()を使用することはできませんか?

答えて

2

$iintegerです。エラーメッセージには、PadLeftメソッドは含まれていません。とにかく、あなたは文字列にintegerを唱えられる:すごいああ、私はとても愚かだ

for ($i=1; $i -lt 20; $i++) { 
    $Iterator = [string]$i 
    Write-Host $Iterator.PadLeft(2, "0") 
} 
+0

、おかげで...どういうわけか私は、エラーメッセージに「System32に」として、それを読んで、全体のことを誤解しました。 –

+0

'$ i.ToString( '00')' – PetSerAl

関連する問題