Я пытаюсь представить правильное двойное значение в моем Listbox. Значения в моей базе данных SQL представлены, например, как «0,09». Теперь я помещаю эти значения, которые находятся в определенном столбце, в Listbox с инструкцией «SELECT DISTINCT». При поиске в базе данных мне нужно написать «0.09» с «0,09», чтобы найти значение. Это не проблема. Я попытался преобразовать каждое двойное значение сТрудности с CultureInfo и представление в Listbox
CultureInfo culInfo = new CultureInfo("en-US");
for (int i = 0; i < convertCol.Count; i++)
{
storeDouble = convertCol[i];
convertToString = storeDouble.ToString("0.######");
if (convertToString.Contains(","))
{
convertedString = convertToString.Replace(",", ".");
convertBackToDouble = double.Parse(convertedString, culInfo);
//Convert.ToDouble(convertedString);
convertedCol.Add(convertBackToDouble);
}
else
{
convertedCol.Add(convertCol[i]);
}
}
DataColumn dc = new DataColumn(form1.getColName());
dc.DataType = typeof(double);
datTable.Columns.Add(dc);
for (int j = 0; j < convertedCol.Count; j++)
{
datTable.Rows.Add(convertedCol[j]);
}
form1.colStorList.DisplayMember = form1.getColName();
form1.colStorList.ValueMember = "Column";
form1.colStorList.DataSource = datTable;
Когда я оставляю CultureInfo и попробовать «Convert.ToDouble», а затем «0,09» преобразуется в «9,0». С CultureInfo это кажется правильным, но у моего Listbox все еще есть записи типа «0,09». Как «заставить» ListBox отображать мои значения как «0.09»?
Я не знаю, почему это происходит. Но если оно равно 2 десятичным знакам, тогда значение 'value/100' может работать. –
«Значения в моей базе данных SQL представлены как« 0,09 », например» - почему вы не представляете их как * число * в своей базе данных? Когда вы выбираете правильные типы полей базы данных, переменных и т. Д., Многие проблемы вроде этого просто исчезают ... –
Нет, это может быть более двух десятичных знаков - как числа? Целые? Это должно быть двойное значение – MKX2015