Antka
|
|
1 | |
Преобразование типов string->double c заданной точностью*?07.08.2012, 20:34. Просмотров 24443. Ответов 11
Метки нет Все метки)
(
Есть входящая строка 123456 или 00546.. или любая другая.
Как преобразовать в тип double, чтобы на выходе я получил: 123.456 0.546 Язык с++ |
|
07.08.2012, 20:34 | |
Преобразование типов: строки в double
Некорректное преобразование double в int (приведение типов)
__________________
11
Помогаю в написании студенческих работ здесь. Записывайтесь на профессиональные курсы C++ разработчиков |
|
Модератор
![]() |
||||||
07.08.2012, 20:56 | 2 | |||||
Самое простое - воспользоваться функцией atof:
0
|
В астрале
![]() 8030 / 4787 / 655
Регистрация: 24.06.2010
Сообщений: 10,558
|
||||||
07.08.2012, 20:57 | 3 | |||||
Catstail, В С++-то... Агась. stringstream конечно куда тяжелее. Ну и если на то пошло const char*, а не просто char*.
3
|
Модератор
![]() |
||||||
07.08.2012, 21:12 | 4 | |||||
А что, atof в C++ не поддерживается?
![]()
![]()
1
|
Antka
|
|
07.08.2012, 22:46 | 5 |
Проблема стандартной функции atof (и других) то, что она отваливается (return 0.0) если туда передать строку такого вида
"00.333" |
95 / 747 / 279
Регистрация: 11.04.2012
Сообщений: 971
|
||||||
08.08.2012, 08:16 | 6 | |||||
0
|
Модератор
![]() |
||||||
08.08.2012, 09:15 | 7 | |||||
- гм... Вот мой код:
0
|
Заблокирован
![]() |
||||||
08.08.2012, 09:33 | 8 | |||||
- можно воспользоваться возможностями sscanf
Не по теме: PS:ForEveR, реально хватит кичиться тем что хорошо знаем STL и некоторые примочки плюсов - это не удел знающего человека, а скорее пацана!:negative:
1
|
Заблокирован
![]() |
|
08.08.2012, 09:36 | 9 |
0
|
В астрале
![]() 8030 / 4787 / 655
Регистрация: 24.06.2010
Сообщений: 10,558
|
||||||
08.08.2012, 09:57 | 10 | |||||
-=ЮрА=-, Мммм. Предпочитаю в С++ использовать функции С++, а не С и остальным того же советую, как минимум потому, что они типобезопасны (чего не сказать о sscanf, atof и прочих сишных функциях). В частности на тему atof:
0
|
|
08.08.2012, 11:13
#11
|
Не по теме: ForEveR, sscanf выбрасывает EOF в случае ошибки: На счёт плюсов и сей: функция sscanf включена в cstdio, следовательно её можно использовать на усмотрение разработчика (или приемственность плюсов по отношению коду сей это ненужная фича по твоему?)
0
|
ForEveR
|
08.08.2012, 11:21
Преобразование типов string->double c заданной точностью*?
#12
|
Не по теме: -=ЮрА=-, Нужная конечно. Когда нужно быстродействие (и то если профайлер показал, что действительно тормоза именно в этом, иначе это экономия на спичках), а в остальных случаях лучше использовать С++-функции.
0
|
08.08.2012, 11:21 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
08.08.2012, 11:21 |
Привет! Вот еще темы с ответами:
12
Преобразование Double в string
Преобразование из string в double Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |