|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.11.2009, 11:42 | #1 |
Новичок
Джуниор
Регистрация: 09.11.2009
Сообщений: 4
|
преобразование строки в float-переменную
Здравствуйте, уважаемые программисты. У меня проект в VS2005. При использовании стандартной atof весьма и весьма глючит (подозреваю из-за ввода либо точки, либо запятой, разделяющих десятичную часть, но нет точной уверенности).
Это считывается с диалогового окна Код:
|
09.11.2009, 12:31 | #2 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
Ну так и проверил бы с запятой для начала. :) Должна быть точка.
А как именно глючит? |
09.11.2009, 12:38 | #3 |
Новичок
Джуниор
Регистрация: 09.11.2009
Сообщений: 4
|
желательно бы универсальнее ее сделать.
Ввожу 0,01 - она переменную по-видимому, обнуляет полностью. Конечно, при 0.01 нет, но ведь люди могут ввести и так, и так, тем более, запятая эта - на цифровой клавиатуре находится... А еще не подскажете, как с помощью messagebox вывести эту действительную переменную, чтоб убедиться в рзультате? в С++ намного сложнее с этими действит. числами, нежели в delphi... |
09.11.2009, 12:59 | #4 | |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
2Brigitta
естественно, чтобы преобразовать строку во float переменную, строка должна быть в правильном формате! что мешает проверить и заменить, если требуется, запятую на точку? А еще люди туда могут и буквы ввести, и ты опять будешь грешить на atof? Цитата:
Код:
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
|
09.11.2009, 13:04 | #5 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
1) Можно вручную заменить запятую на точку
2) Можно использовать класс CString Второе предпочтительнее, так как есть много стандартных функций, в том числе и для перевода числа в строку. |
09.11.2009, 13:10 | #6 |
Новичок
Джуниор
Регистрация: 09.11.2009
Сообщений: 4
|
ds.Dante а не подскажете, как это сделать?
я только знакомлюсь с с++, поэтому знаю там.. в общем-то ничего.. Если не затруднит, конечно... Спасибо за MessageBox) |
09.11.2009, 13:59 | #7 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
Советую активно использовать MSDN.
http://msdn.microsoft.com/en-us/libr...89(VS.80).aspx Замена символа - функция Replace(); Перевод числа в строку - Format(). |
09.11.2009, 14:19 | #8 |
Новичок
Джуниор
Регистрация: 09.11.2009
Сообщений: 4
|
Благодарю!
)) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Преобразование строки | Neeter | Общие вопросы C/C++ | 5 | 05.07.2009 16:25 |
Паскаль. Преобразование строки | andronova | Помощь студентам | 1 | 13.04.2009 12:55 |
преобразование строки | xaero93 | Помощь студентам | 3 | 05.03.2009 13:00 |
Преобразование строки(ASM) | ManU | Помощь студентам | 4 | 11.06.2008 17:20 |
Преобразование строки во время | kayman | Общие вопросы Delphi | 7 | 02.10.2007 15:41 |