Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
qwerty
Зарегистрирован: 30.09.2002 Сообщения: 11
|
Добавлено: Вт Май 28 2002 09:54 Заголовок сообщения: c++b |
|
|
при создании формы в FormCreate инициализирую ComboBox for (int i=0; iItems->Add(i*0.1) } при попытке обратного получения double из строки например strod(ComboBox->Text.c_str(), NULL) полученное число такое : из 0,001 выходит 0 из-за запятой в разделении разрядов числа. Подскажите как сделать правильно. СПАСИБО! |
|
Вернуться к началу |
|
|
Roman_2002
Зарегистрирован: 21.05.2002 Сообщения: 56 Откуда: Львов
|
Добавлено: Вт Май 28 2002 10:25 Заголовок сообщения: Re: c++b |
|
|
Ты напиши кусок кода без ошибок!!! А то вообще нифига не понятно! |
|
Вернуться к началу |
|
|
qwerty
Зарегистрирован: 30.09.2002 Сообщения: 11
|
Добавлено: Вт Май 28 2002 11:08 Заголовок сообщения: Re: c++b |
|
|
при создании формы в FormCreate инициализирую ComboBox for (int i=0; iBox->Items->Add(i*0.1) } при попытке обратного получения double из строки например strod(ComboBox->Text.c_str(), NULL) полученное число такое : из 0,001 выходит 0 из-за запятой в разделении разрядов числа. Подскажите как сделать правильно. СПАСИБО! |
|
Вернуться к началу |
|
|
BlackRawen
Зарегистрирован: 28.05.2002 Сообщения: 1
|
Добавлено: Вт Май 28 2002 11:42 Заголовок сообщения: Re: c++b |
|
|
По-моему, при вызове метода ADD необходимо произвести преобразование числа в строку.(или я не понял?) |
|
Вернуться к началу |
|
|
Shuran
Зарегистрирован: 02.07.2002 Сообщения: 49
|
Добавлено: Ср Май 29 2002 16:22 Заголовок сообщения: Re: c++b |
|
|
Ну во-первых, Roman прав: ты правильно напиши код. Оператор for должен включать в себя 3 части, разделенные запятыми, а их у тебя 2. А потом, зачем извлекать по strod, когда можно по float atof(char *) - как по мне, намного удобнее.
зы: Но ты все же допиши правильно код |
|
Вернуться к началу |
|
|
Mike
Зарегистрирован: 17.11.2001 Сообщения: 339 Откуда: ekb
|
Добавлено: Чт Май 30 2002 08:35 Заголовок сообщения: Re: c++b |
|
|
1. можно попробовать AnsiString::ToDouble() 2. надо посмотреть региональные опции в винде, чтобы разделителем целой и дробной частей была именно точка |
|
Вернуться к началу |
|
|
|