Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ Форматный вывод в dataGrid.С++

Автор: Krjuger 28.11.2011 20:57

Нужно записывать в ячейски dataGrid числа типа double с определенный количеством знаков после запятой.Не знаю, как сделать.
Если делать через sprintf,то не знаю как char* преобразовать в String,если использовать string,то не знаю как преобразовать string в Object^.Какой то порочный круг получается.

Автор: IUnknown 28.11.2011 21:29

DataGrid или DataGridView? Потому что у последнего есть DataGridViewCellStyle, которым можно настроить на отображение любого формата (хранишь число в том виде, в котором оно у тебя есть, но при отображении применяется заданный формат и "лишние" символы просто отбрасываются). Или заталкивай числа в строку и храни строки в гриде.

Автор: Krjuger 28.11.2011 21:36

Опишу более детально.Да,используется DataGridView.Есть 3 столбца, в 1,2,4 храниться одно число типа дабл, а в 3 храняться 2 числа типа дабл в виде (число,число).Проблема заключаеться в том,что мне на каждой строчке надо выводить лишь то число символов,которое соответствует точности,и на каждой строчке оно меняеться(увеличивается на 1 разряд)

Автор: IUnknown 28.11.2011 23:04

Ну, тогда в строку заталкивай. Проверить негде, но теоретически - должно сработать что-то типа:

double val;
System::String^ st = (gcnew System::Double(val))->ToString();
(у ToString() есть несколько перегруженных версий, одна из них - http://msdn.microsoft.com/en-us/library/kfsatb94.aspx#Y0, позволяющая передавать форматную строку, а в форматной строке можно указать нужную точность)