DataGridViewCellStyle Отображение числовых данных в тысячах
Мне просто интересно, есть ли способ создать пользовательский формат в DataGridViewCellStyle для отображения данных в тысячах.
В Excel есть пользовательский формат, в котором вы можете ввести 1000 в ячейку, но он отображается как 1. Я пробовал искать на этих досках, но все мои поиски возвращают, как вставить разделитель тысяч, что я уже знаю, как это сделать.
Мой текущий обходной путь - делить данные на 1000 перед загрузкой DGV, а затем умножать введенные пользователем данные обратно на 1000, но должен быть лучший способ. Я имею дело с некоторыми действительно большими числами (в чилийских песо, не меньше), поэтому я не могу показать реальное число.
2 ответа
Используйте строку формата "0"
Спецификатор масштабирования чисел: если один или несколько символов ',' указан непосредственно слева от явной или неявной десятичной точки, форматируемое число делится на 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 = "#,#";