List<decimal> list = new List<decimal>() { 23.346m, 23.56m, 4.2m, 0.90000000000000000000000000000m, 0.59333800m};
Console.WriteLine(list.OrderByDescending( a=>a)
.Max());
我如何对这个列表进行排序,并获得.
之后数字最大的值?
预期结果:
像这样排序
//0.593338m
//23.346m
//23.56米
//4.2米
//0.9米
预期的最长值为:
//0.593338m
2条答案
按热度按时间qxsslcnc1#
不如这样吧:
首先将列表转换为字符串列表-格式字符串需要从小数的字符串版本中删除尾随的零,因为它们将保留定义时使用的精度。#格式说明符向右截断0,需要29个#,因为这是十进制可以具有的最高精度。
然后按字符串的长度排序小数点后的字符串。
jckbn6z72#
您可以使用纯数学来获得所需的结果,这比字符串转换更有效,但解决小数点分隔符后的右侧并将其转换为整数是棘手的。
通过以下方法,查询结果很容易:
Normalize
方法来自here。