Отображение числа с плавающей точкой в ​​процентах без изменения значения числа - PullRequest
5 голосов
/ 21 февраля 2011

Можно ли указать string.Format() параметры для добавления символа в процентах без изменения значения числа?

Пример:
У нас есть номер 44.36, и мы хотим показать его в сеткеи вывести в Excel как "44.36%".Делить значение на 100 и затем применять формат "P" не вариант.Изменение значений не может быть сделано в этом случае, нам нужно сделать это только путем изменения значения DisplayFormat.Использование string.Format("{0}%", valueParam) также не вариант.

1 Ответ

12 голосов
/ 21 февраля 2011

Укажите пользовательский формат. Вам нужно будет экранировать знак процента '%' с буквенной обратной косой чертой '\\', чтобы он не интерпретировал значение в процентах.

var number = 44.36m;
var formatted = number.ToString("0.##\\%"); // "44.36%"
// format string @"0.##\%" works too

// using String.Format()
var sformatted = String.Format("{0:0.##\\%}", number); // "44.36%"
...