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

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

Войти
Регистрация
Восстановить пароль
 
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
#1

Предложите исходный текст функции DoubleToString - C++

13.06.2012, 08:44. Просмотров 1079. Ответов 13
Метки нет (Все метки)

Функция должна преобразовывать double в std::string.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2012, 08:44     Предложите исходный текст функции DoubleToString
Посмотрите здесь:

Считайте текст и выведите на экран исходный текст, а затем только четные предложения - C++
Считайте текст и выведите на экран исходный текст, а затем только четные предложения. Либо: Напишите программу, подсчитывающую, сколько...

Считайте текст и выведите на экран исходный текст, а затем только каждое третье предложение - C++
Помогите, пожалуйста!! очень нужно!! Считайте текст и выведите на экран исходный текст, а затем только каждое третье предложение.

Преобразовать исходный текст в текст с выровненными краями - C++
Дан текстовый файл in.txt, содержащий произвольный текст. Получить файл out.txt, содержащий исходный текст с выровненными краями....

ГОСТ 28147-89 Режим простой замены. Исходный текст не совпадает с дешифрованным - C++
Добрый вечер, уважаемы форумчане. Решил реализовать шифр ГОСТ 28147-89 Режим простой замены. Алгоритм шифрования взял с википедии....

Повторить исходный текст в файлах дважды, причем вторая копия должна содержать символы в обратном порядке - C++
Добрый вечер, суть задания заключается в следующем: указывается каталог, проверяется на наличие тхт файлов,а дальше удвоить текст в...

Нужен исходный код функции sinh() и cosh() из библиотеки math.h - C++
Нужен исходный код функции sinh() и cosh() из библиотеки math.h. Искал в библиотеке - не нашел. Задача: написать программу которая будет...

Как выглядит исходный код функции sqrt стандартной библиотеки math.h? - C++
Здраствуйте. Мне надо исходный код функции sqrt стандартной библиотеки math.h . В интернете не могу найти понятный пример, а библиотеки...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Петррр
5946 / 3383 / 336
Регистрация: 28.10.2010
Сообщений: 5,927
13.06.2012, 09:19     Предложите исходный текст функции DoubleToString #2
std::to_string
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
13.06.2012, 09:26  [ТС]     Предложите исходный текст функции DoubleToString #3
C:\tsserver\Projects\cpp\codeblocks\SeaJackals\SeaJackals.cpp|668|error: 'to_string' is not a member of 'std::string'|
. И как ты это объяснишь?

Добавлено через 2 минуты
C:\tsserver\Projects\cpp\codeblocks\SeaJackals\SeaJackals.cpp|668|error: 'to_string' is not a member of 'std'|
Петррр
5946 / 3383 / 336
Регистрация: 28.10.2010
Сообщений: 5,927
13.06.2012, 09:26     Предложите исходный текст функции DoubleToString #4
taras atavin, http://liveworkspace.org/code/4b1b15...7779eee9b22211
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
13.06.2012, 09:29  [ТС]     Предложите исходный текст функции DoubleToString #5
Меня не интересует интерпретатор. Мне нужна функция, которую проглотит мой компилятор. И которая решит поставленную подзадачу.
Петррр
5946 / 3383 / 336
Регистрация: 28.10.2010
Сообщений: 5,927
13.06.2012, 09:32     Предложите исходный текст функции DoubleToString #6
C++
1
2
3
4
5
6
std::string DoubleToString(double val)
{
    std::stringstream stream;
    stream << val;
    return stream.str();
}
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
13.06.2012, 09:34     Предложите исходный текст функции DoubleToString #7
Или же boost::lexical_cast<double>().
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
13.06.2012, 11:00  [ТС]     Предложите исходный текст функции DoubleToString #8
Теперь гога такая:
C:\tsserver\Projects\cpp\codeblocks\SeaJackals\SeaJackals.cpp|675|error: aggregate 'std::stringstream Stream' has incomplete type and cannot be defined|
Добавлено через 1 час 21 минуту
Проблема решена:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
std::string      DoubleToString            (double       x            )
{
        std::string Result;
 static std::string Digits[16]={"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"};
 static std::string Signs[2]={"-", "+"};
 static std::string p=".";
        int         i;
        int         b;
 b=abs((int)x);
 do
 {
  Result=Digits[b%16]+Result;
  b/=16.0;
 }while (b!=0);
 if (x<0.0)
 {
  Result=Signs[0]+Result+p;
  x=-x;
 }
 else
 {
  Result=Signs[1]+Result+p;
 }
 b=abs((int)x);
 x-=(double)b;
 for (i=8; i>0; --i)
 {
  b=((int)(x*16.0))%16;
  Result+=Digits[b];
  x*=16.0;
 }
 return Result;
}
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
13.06.2012, 11:04     Предложите исходный текст функции DoubleToString #9
taras atavin, Проблему можно было решить одним #include <sstream>, а не написанием кривоватого велосипеда
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
13.06.2012, 14:58  [ТС]     Предложите исходный текст функции DoubleToString #10
В чём он кривой?
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
13.06.2012, 17:26     Предложите исходный текст функции DoubleToString #11
taras atavin, Во всем по большому счету.
NAME
strtod, strtof, strtold - convert ASCII string to floating-point number

SYNOPSIS
#include <stdlib.h>

double strtod(const char *nptr, char **endptr);
float strtof(const char *nptr, char **endptr);
long double strtold(const char *nptr, char **endptr);
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
13.06.2012, 18:10  [ТС]     Предложите исходный текст функции DoubleToString #12
Цитата Сообщение от ForEveR Посмотреть сообщение
Во всем по большому счету.
Это не ответ. Есть вход, есть выход и есть время работы. А инклады с декларациями - не фактор сравнения.

Добавлено через 2 минуты
В моей функции на входе double, на выходе str::striung, время преобразования не влечёт заметных тормозов проги. Та что же тогда кривого в моей функции?

Добавлено через 1 минуту
А вот когда сказать не чего, то защитники кривизны как раз на всё в болшом счёте и кивают.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
13.06.2012, 19:52     Предложите исходный текст функции DoubleToString #13
taras atavin, Как минимум в том, что
1) Есть стандартные функции, следовательно не нужно писать своих велосипедов.
2) Стандартные функции проверены и в большинстве случаев работают быстрее.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2012, 07:28     Предложите исходный текст функции DoubleToString
Еще ссылки по теме:

Предложите упражнения по С++ мне - C++
Предложите задачи по С++ мне,хотел бы услышать задачи,заданные вами.

предложите свой алгоритм решения - C++
Множество попарно различных плоскостей в трехмерном пространстве задано перечислением троек точек, через которые проходит каждая из...

Иерархия классов: предложите примеры - C++
здраствуйте вот задание Найти в жизни и реализовать иерархию классов, требующую использования абстрактных классов и полиморфного...

Нужно доработать или предложите свои варианты - C++
Вывести таблицу значений для графика зависимости расстояния от водной поверхности до верхней тички плавающего на воде тела от плотности...

Предложите примеры деклараций классов с protected и private членами - C++
Только декларации. Как пишутся спецификаторы, я знаю. Просто надо сделать примеры деклараций классов со спецификаторами - и #, а я что то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
14.06.2012, 07:28  [ТС]     Предложите исходный текст функции DoubleToString #14
Цитата Сообщение от ForEveR Посмотреть сообщение
1) Есть стандартные функции, следовательно не нужно писать своих велосипедов.
Что стандартного в самописной
Цитата Сообщение от Петррр Посмотреть сообщение
C++
1
2
3
4
5
6
std::string DoubleToString(double val)
{
* * std::stringstream stream;
* * stream << val;
* * return stream.str();
}
?
Цитата Сообщение от ForEveR Посмотреть сообщение
2) Стандартные функции проверены и в большинстве случаев работают быстрее.
И это после прямого указания на тормоза действительно стандартной
C++
1
std::string::c_str()
. И мне не надо вылавливать на текстовом выводе каждые процента результирующей производительности приложения в целом. Мне надо, чтоб не было заметных тормозов, а в моём варианте тормоза уже не заметны. Если в две тысячи раз быстрее повернёшь ключ зажигания, то за часовую поездку съэкономишь от силы секунду. Имеет ли это для тебя значение? Здесь то же самое. Я вообще хотел стринг юзать только в одной разовой функции и поменял своё решение, когда убедился в том, что заметных тормозов он не вызывает, теперь у меня свой TextOut на стринге. А вот как ты к потоку собираешься прикручивать шестнадцатеричную дробь и количество символов?
Yandex
Объявления
14.06.2012, 07:28     Предложите исходный текст функции DoubleToString
Ответ Создать тему
Опции темы

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