Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562

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

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

Студворк — интернет-сервис помощи студентам
Функция должна преобразовывать double в std::string.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.06.2012, 08:44
Ответы с готовыми решениями:

Можно ли добавить текст в заполненное текстовое поле, не вытягивая исходный текст?
Мне нужно хранить диалоги пользователей. Периодически нужно в поле с диалогом добавлять некоторые строки. Но боюсь, что в будущем моей...

Текст зашифрован перестановкой букв наоборот, восстановить исходный текст
текст зашифрован перестановкой букв наоборот востановить исходный текст

Текст зашифрован перестановкой букв наоборот, восстановить исходный текст
текст зашифрован перестановкой букв наоборот востановить исходный текст

13
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
13.06.2012, 09:19
std::to_string
1
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
13.06.2012, 09:26  [ТС]
C:\tsserver\Projects\cpp\codeblocks\SeaJ ackals\SeaJackals.cpp|668|error: 'to_string' is not a member of 'std::string'|
. И как ты это объяснишь?

Добавлено через 2 минуты
C:\tsserver\Projects\cpp\codeblocks\SeaJ ackals\SeaJackals.cpp|668|error: 'to_string' is not a member of 'std'|
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
13.06.2012, 09:26
taras atavin, http://liveworkspace.org/code/... eee9b22211
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
13.06.2012, 09:29  [ТС]
Меня не интересует интерпретатор. Мне нужна функция, которую проглотит мой компилятор. И которая решит поставленную подзадачу.
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
13.06.2012, 09:32
C++
1
2
3
4
5
6
std::string DoubleToString(double val)
{
    std::stringstream stream;
    stream << val;
    return stream.str();
}
1
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
13.06.2012, 09:34
Или же boost::lexical_cast<double>().
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
13.06.2012, 11:00  [ТС]
Теперь гога такая:
C:\tsserver\Projects\cpp\codeblocks\SeaJ ackals\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;
}
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
13.06.2012, 11:04
taras atavin, Проблему можно было решить одним #include <sstream>, а не написанием кривоватого велосипеда
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
13.06.2012, 14:58  [ТС]
В чём он кривой?
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
13.06.2012, 17:26
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);
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
13.06.2012, 18:10  [ТС]
Цитата Сообщение от ForEveR Посмотреть сообщение
Во всем по большому счету.
Это не ответ. Есть вход, есть выход и есть время работы. А инклады с декларациями - не фактор сравнения.

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

Добавлено через 1 минуту
А вот когда сказать не чего, то защитники кривизны как раз на всё в болшом счёте и кивают.
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
13.06.2012, 19:52
taras atavin, Как минимум в том, что
1) Есть стандартные функции, следовательно не нужно писать своих велосипедов.
2) Стандартные функции проверены и в большинстве случаев работают быстрее.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
14.06.2012, 07:28  [ТС]
Цитата Сообщение от 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 на стринге. А вот как ты к потоку собираешься прикручивать шестнадцатеричную дробь и количество символов?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.06.2012, 07:28
Помогаю со студенческими работами здесь

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

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

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

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

Дан текст из строчных латинских букв. Вывести на экран первые вхождения букв в текст,сохраняя при этом их исходный взаимный порядок
Дан текст из строчных латинских букв. Вывести на экран первые вхождения букв в текст,сохраняя при этом их исходный взаимный порядок.


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru