Лучший способ отображения десятичной дроби без конечных нулей - PullRequest
93 голосов
/ 23 июня 2010

Существует ли средство форматирования отображения, которое будет выводить десятичные дроби в виде этих строковых представлений в c # без каких-либо округлений?

// decimal -> string

20 -> 20
20.00 -> 20
20.5 -> 20.5
20.5000 -> 20.5
20.125 -> 20.125
20.12500 -> 20.125
0.000 -> 0

{0. #} будет округляться, и использование некоторой функции типа Trim не будет работать ссвязанный числовой столбец в сетке.

Ответы [ 11 ]

0 голосов
/ 26 мая 2015
decimal val = 0.000000000100m;
string result = val == 0 ? "0" : val.ToString().TrimEnd('0').TrimEnd('.');
...