![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Proletariy |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 19.2.2008 Репутация: нет Всего: нет |
Следующая проблема.
Есть диалоговое окно. В окне есть некоторое колличество текстовых полей ввода CEdit. Кождому полю присвоена переменная типа float. Недостаток в том, что когда прописывается целая и дробная часть через запятую при выполнении оператора UpdateDate машина отбрасывает все что после запятой и число на выполнение идет как целое без учета дробной части. С точкой такой проблемы не возникает. Можно ли в целом для диалогового окна запустить замену "на лету" знака запятой на точку. onChar - ????? У меня не получилось. ![]() |
|||
|
||||
nk19 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 21.1.2008 Репутация: нет Всего: нет |
C MFC не работал, но мне кажется, что не надо такие трюки делать.
В панели управления -> Язык и региональные настройки разделитель целой и дробной части сейчас какой стоит? Если сделаешь автоматическую замену, то при других настройках разделителя ИМХО программа не будет работать корректно. |
|||
|
||||
aram90 |
|
|||
Bug hunter Профиль Группа: Участник Сообщений: 17 Регистрация: 1.12.2008 Где: Yerevan, Armenia Репутация: нет Всего: 3 |
Надо поменять тип с float на CString, потом найти в ручную запятую и заменить на точку.
Потом вызываем функцию atof (библиотека stdlib.h), чтобы конвертировать строку в число. Это выглядит так: CString str="55.68"; float x=atof(str.GetBuffer(1)); |
|||
|
||||
Proletariy |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 19.2.2008 Репутация: нет Всего: нет |
Спасибо за ответы. Дело в том, что приложение уже написано и менять тип float на CString затруднительно 50-55 полей ввода 7 диалогов. На будущее конечно буду создавать свой класс CMyEdit который будет считывать строковую переменную и с помощью atof переводить ее в числовую.
Кстати atof хорошая функция. Переводит строку в число независимо от знака разделителя.
Об этом я не думал. ![]() Видимо придется оставить все как есть. А жаль)) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |