2

パーセント数の並べ替えで小さな問題が発生しました。テストする簡単なスクリプトを作成しました。

function get-percent{
$obj1 = New-Object PSObject
$percentUsed1="{0:P0}" -f (100/100)      
$obj1 | Add-Member -membertype NoteProperty -Name 'Percent' -Value $percentUsed1

$obj2 = New-Object PSObject
$percentUsed2="{0:P0}" -f (99/100)      
$obj2 | Add-Member -membertype NoteProperty -Name 'Percent' -Value $percentUsed2

$obj3 = New-Object PSObject
$percentUsed3="{0:P0}" -f (8/100)      
$obj3 | Add-Member -membertype NoteProperty -Name 'Percent' -Value $percentUsed3

$obj4 = New-Object PSObject
$percentUsed4="{0:P0}" -f (70/100)      
$obj4 | Add-Member -membertype NoteProperty -Name 'Percent' -Value $percentUsed4


write $obj1
write $obj2
write $obj3
write $obj4

}


get-percent | sort-object 'Percent' -descending |ft

ここに私が得るものがあります:

パーセント

99%
8%
70%
100%

通常、私は 100%、99%、70% とすべきです。何かアイデアはありますか? どうも。

4

1 に答える 1

3

試す:

get-percent | sort-object  { [INT]($_.percent -replace '%')  } -descending 

このようにして、以前のようにsort-object並べ替えることができます。[INT][String]

于 2013-07-10T09:06:21.283 に答える