DataGridViewCellStyle Отображение числовых данных в тысячах

Мне просто интересно, есть ли способ создать пользовательский формат в DataGridViewCellStyle для отображения данных в тысячах.

В Excel есть пользовательский формат, в котором вы можете ввести 1000 в ячейку, но он отображается как 1. Я пробовал искать на этих досках, но все мои поиски возвращают, как вставить разделитель тысяч, что я уже знаю, как это сделать.

Мой текущий обходной путь - делить данные на 1000 перед загрузкой DGV, а затем умножать введенные пользователем данные обратно на 1000, но должен быть лучший способ. Я имею дело с некоторыми действительно большими числами (в чилийских песо, не меньше), поэтому я не могу показать реальное число.

2 ответа

Используйте строку формата "0"

Из MSDN:

Спецификатор масштабирования чисел: если один или несколько символов ',' указан непосредственно слева от явной или неявной десятичной точки, форматируемое число делится на 1000 каждый раз, когда возникает спецификатор масштабирования чисел.

В RichTextBox этот формат работал для меня:

richTextBox.Text = String.Format("{0:0,}", 24000);//Show as 24

В DataGridView один и тот же формат можно использовать в конструкторе или по коду:

//Number format "0,.###" will show number 12230 as 12.23

this.datagridview.Columns[this.dgvYuorColumn.Name].DefaultCellStyle.Format = "0,.###";

Это работает для меня

this.datagridview.Columns[this.dgvYuorColumn.Name].DefaultCellStyle.Format = "#,#";
Другие вопросы по тегам