Формат строки значения datagridview C#

Я ищу для форматирования значения в представлении данных. Эти значения представляют собой строку, содержащую десятичное число. (Как и "3000", я хочу отобразить его с разделителем (пробелом), например: "3000".

Я знаю, что это можно сделать, назначив формат defaultcellstyle, используя, например, такой формат, как "N2", это работает с десятичным типом столбца, но я использую строковый тип столбца в своем сетевом представлении для обработки некоторого исключения (отображение "-" вместо " 0 "для упрощения просмотра пользователями)

Я попытался использовать другой формат ячейки, и на дисплее ничего не изменилось.

мне нужно изменить тип столбца моего datagridview или это может быть сделано без слишком большого кода?

Спасибо за все ответы,

Тристан

1 ответ

Решение

Я просто сделал так, как я ожидал. Сначала я сделал комментарий, и он просто показал ошибки, поэтому я попробовал второй способ (самый простой), который не был прокомментирован.

string value = cell.Value.ToString();
//NumberFormatInfo nfi =(NumberFormatInfo)CultureInfo.InvariantCulture.NumberFormat.Clone();
//nfi.NumberGroupSeparator = " ";
//string formatted = double.Parse(value).ToString("n", nfi);
//cell.Value = formatted.Replace(".00","");// 12 345.00
string formatted = double.Parse(value).ToString("# ### ###");
cell.Value = formatted;
Другие вопросы по тегам