Привет всем!
Есть значение типа decimal, надо получить его строковое представление с точностью до двух знаков после запятой, но при этом незначащие нули должны быть отброшены. То есть
1.234 => "1.23"
1.230 => "1.23"
1.200 => "1.2"
1.000 => "1"
Есть ли стандартный способ это сделать на C#?
Спасибо
Здравствуйте, SergASh, Вы писали:
SAS>Есть ли стандартный способ это сделать на C#?
var numbers = new List<decimal> { 1.234m, 1.230m, 1.200m, 1.000m, 1.2345m };
numbers.ForEach(d => Console.WriteLine("{0:0.0##}", d));
1.234
1.23
1.2
1.0
1.235
Имхо, «1.0» смотрится лучше, чем просто «1». Но, если не нравится, укажите формат "{0:0.###}".
Здравствуйте, Qbit86, Вы писали:
Q>numbers.ForEach(d => Console.WriteLine("{0:0.0##}", d));
Ой, это с точностью до трёх знаков, для двух нужен формат "{0:0.0#}" или "{0:0.##}".