Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Adler
78 / 78 / 3
Регистрация: 07.05.2009
Сообщений: 316
#1

FToS - C++

14.09.2009, 16:50. Просмотров 779. Ответов 9
Метки нет (Все метки)

>float to string
Нужно перевести число из double в std::string.
что-то типа этого
C++
1
string FToS(double value, int precision);
sprintf,printf и и подобные штуки не пойдут, т.к критично по времени.

ps: разделитель точка.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
14.09.2009, 17:15 #2
Цитата Сообщение от Adler Посмотреть сообщение
sprintf,printf и и подобные штуки не пойдут, т.к критично по времени.
ты эту штуки уже пробовал? может они по времени подойдут.

самый простой способ перевода на С++ - это использовать boost::lexical_cast
1
ISergey
Maniac
Эксперт С++
1376 / 887 / 53
Регистрация: 02.01.2009
Сообщений: 2,663
Записей в блоге: 1
14.09.2009, 17:19 #3
Ну можно так сделать..
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <sstream>
#include <string>
 
inline std::string double_to_string(const double &rhs){
    std::stringstream stm;
    stm << rhs;
    return stm.str();
}
int main(){
 
    std::string s = double_to_string(12.33);
    std::cout << s << std::endl;
    return 0;
}
1
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
14.09.2009, 17:20 #4
Цитата Сообщение от ISergey Посмотреть сообщение
Ну можно так сделать..
поздравляю. ты изобрёл boost::lexical_cast!
0
reich
110 / 46 / 3
Регистрация: 03.09.2009
Сообщений: 112
14.09.2009, 17:23 #5
Цитата Сообщение от zim22 Посмотреть сообщение
поздравляю. ты изобрёл boost::lexical_cast!
boost не у всех же есть, а вот std есть у всех
0
ISergey
Maniac
Эксперт С++
1376 / 887 / 53
Регистрация: 02.01.2009
Сообщений: 2,663
Записей в блоге: 1
14.09.2009, 17:23 #6
Цитата Сообщение от zim22 Посмотреть сообщение
поздравляю. ты изобрёл boost::lexical_cast!
Я в этом не сомневался..
0
Adler
78 / 78 / 3
Регистрация: 07.05.2009
Сообщений: 316
14.09.2009, 17:29  [ТС] #7
ISergey
ну я собственно так и пользовался. Только вот плохо что нету precision, поэтому и спрашиваю.
Цитата Сообщение от zim22 Посмотреть сообщение
boost::lexical_cast
столько слышал про этот буст. Надо будет попробовать..
0
ISergey
Maniac
Эксперт С++
1376 / 887 / 53
Регистрация: 02.01.2009
Сообщений: 2,663
Записей в блоге: 1
14.09.2009, 17:38 #8
Цитата Сообщение от Adler Посмотреть сообщение
столько слышал про этот буст. Надо будет попробовать..
Попробуй. полезная штука..
0
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
14.09.2009, 18:25 #9
Цитата Сообщение от Adler Посмотреть сообщение
. Только вот плохо что нету precision
поток можно настроить на нужную тебе precision
C++
1
2
3
4
5
6
7
8
9
10
#include <sstream>
#include <string>
 
double d = 2.123456789;
 
std::stringstream ss;
ss.precision(8);
ss << d;
std::string str;
ss >> str;
1
Adler
78 / 78 / 3
Регистрация: 07.05.2009
Сообщений: 316
14.09.2009, 18:44  [ТС] #10
zim22,
Спасибо! Круто а я не знал.
0
14.09.2009, 18:44
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru