十进制数的PowerShell排序问题

十进制数的PowerShell排序问题,powershell,sorting,Powershell,Sorting,我有一个十进制数字数组,如下所示: reihenfolge ########### 100000.00001 1000000.00001 101000.00001 101010.00001 101020.10001 看起来您正在从文本或csv文件读取数组。在这种情况下,数字实际上是字符串,而不是数字。要对数字进行排序,请尝试以下操作: 1如果数组来自文本文件,包括reihenfolge行,请使用Get-Content cmdlet: 2如果您的数据来自名为reihenfolge列的CSV文件,请

我有一个十进制数字数组,如下所示:

reihenfolge ########### 100000.00001 1000000.00001 101000.00001 101010.00001 101020.10001
看起来您正在从文本或csv文件读取数组。在这种情况下,数字实际上是字符串,而不是数字。要对数字进行排序,请尝试以下操作:

1如果数组来自文本文件,包括reihenfolge行,请使用Get-Content cmdlet:

2如果您的数据来自名为reihenfolge列的CSV文件,请执行以下操作:

$array = (Import-Csv -Path 'D:\blah.txt').reihenfolge | Sort-Object @{Expression = { [double]$_ }}
$array
两者都将返回如下排序的数组:

reihenfolge ########### 100000.00001 1000000.00001 101000.00001 101010.00001 101020.10001
看起来您正在从文本或csv文件读取数组。在这种情况下,数字实际上是字符串,而不是数字。要对数字进行排序,请尝试以下操作:

1如果数组来自文本文件,包括reihenfolge行,请使用Get-Content cmdlet:

2如果您的数据来自名为reihenfolge列的CSV文件,请执行以下操作:

$array = (Import-Csv -Path 'D:\blah.txt').reihenfolge | Sort-Object @{Expression = { [double]$_ }}
$array
两者都将返回如下排序的数组:

reihenfolge ########### 100000.00001 1000000.00001 101000.00001 101010.00001 101020.10001
字符串是否为reihenfolge并且实际上是数组中的条目?很可能是排序所依据的属性包含字符串值。字符串排序顺序和数字排序顺序不一样,b/c前者比较字符串中相应位置的字符。试试……|排序对象{[double]$\uz.reihenfolge}。字符串是否是数组中的reihenfolge和实际条目?最有可能是排序所依据的属性包含字符串值。字符串排序顺序和数字排序顺序不一样,b/c前者比较字符串中相应位置的字符。试试……|排序对象{[double]$\uu.reihenfolge}。非常感谢您的快速回答@Ansgar and Theo,这就成功了!!伟大的非常感谢您的快速回答@Ansgar和Theo,这成功了!!伟大的