Отображение неправильного символа валюты в ячейке столбца
Привет ,
Попытка добавить символ доллара США $ в ячейку столбца, но она возвращает символ евро €?
ФОН:
Программа im building - это конвертер валют, в котором пользователь вводит сумму в numericUpdown и combobox со всеми мировыми валютами. Затем введенная сумма умножается на значение в ячейках столбца. Затем новое значение отображается в этих ячейках с правильным символом.
Примечание: я могу добавить $ делающий это;
node.Cells[2].Value = "$ " + numVal * usa;
Но я хотел бы использовать CultureInfo
Что я уже пробовал:
if (toolStripComboBox1.SelectedIndex >= 0) { foreach (TreeGridNode node in myTGV.Rows) { if (node.Cells[2].Value != null) { myTGV.Columns["Cost"].DefaultCellStyle.Format = String.Format("C", System.Globalization.CultureInfo.CreateSpecificCulture("en-US")); //string value = node.ToString(); //node.Cells[2].InheritedStyle.Format = "#,###.##"; int numVal = Convert.ToInt32(node.Cells[2].Value); float usa = (float)numCurrency.Value; //string value = numVal * usa; node.Cells[2].Value = numVal * usa; } } }
Richard Deeming
Каково полное имя типа TreeGridNode
класс?
Вы устанавливаете DefaultCellStyle.Format
свойство литеральной строки "C"
. Этот String.Format
вызов ничего не делает, так как у вас нет никаких заполнителей формата внутри строки.
Вам нужно найти способ указать узлу, элементу управления, форме или всему приложению использовать определенную культуру для форматирования значений.
BEBE2011
Решение 2 устранило эту ошибку.