问题排序DataTable c#

本文关键字:DataTable 排序 问题 | 更新日期: 2023-09-27 18:20:11

假设DataTable 中的一列中有以下值

120,00
200,00
201,00
12510,00

ASC ORDER中对它们进行排序时,我总是将12510,00放在首位,并保持完全良好的排序。有什么建议吗?

问题排序DataTable c#

我假设它是一个字符串列,您应该用正确的类型填充它。如果不可能,您可以使用decimal.Parse,例如:

tbl = tbl.AsEnumerable()
    .OrderBy(row => decimal.Parse(row.Field<string>("ColumnName")))
    .CopyToDataTable();

您需要添加using System.Linq

如果使用不同的十进制分隔符,则可以使用decimal.Parse(row.Field<string>("ColumnName"), new CultureInfo("de-DE"))