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

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

Войти
Регистрация
Восстановить пароль
 
nill
9 / 9 / 0
Регистрация: 16.08.2009
Сообщений: 417
#1

Как преобразовать большое число в строку - C++

20.05.2012, 00:57. Просмотров 986. Ответов 5
Метки нет (Все метки)

Делаю такое преобраование

C++
1
2
3
4
char szbuff[255];
double X=3292373930;
sprintf(szbuff, "%g", X);   
string X_str=szbuff;
В результате получаю X_str равно 3292370000 при записи в БД
а в текстовый файл пишет 3.29237e+009

как сделать так чтобы в строковую переменную большие числа писались без изменений
Нужно что нить универсально, числа могут быльшими могут быть маленькими
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2012, 00:57     Как преобразовать большое число в строку
Посмотрите здесь:

Как преобразовать большое число в строку через stringstream и ограничить знаки после точки - C++
опять возникла проблема которая была недавно но с другим методом нужно преобразовать большое число типо double в строку через...

Преобразовать большое число представленного строкой в двоичный эквивалент - C++
Есть большое число: string decimal_string = "999999999999999999999999999999999999"; Как бы из него получить бинарную строку, типа:...

Как преобразовать число в строку - C++
Здравствуйте! У меня такой вопрос: Нужно выводить на экран числа.Функция принимает указатель на строку Font->DrawTextA(NULL, ...

Как строку можно преобразовать в число??? - C++
Написать функцию, которая анализирует заданную строку и возвращает: · 1, если строка представляет собой запись целого числа; · 2 — если...

Как преобразовать шестнадцатеричное число в строку? - C++
как записать в строку шестнадцатеричное число? например 111111111 в основании 16 в строке должно выглядеть как 4581298449 в основании 10

Как преобразовать строку цифр в число? - C++
Как преобразовать строку цифр в число?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
diagon
Higher
1928 / 1194 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
20.05.2012, 11:15     Как преобразовать большое число в строку #2
Цитата Сообщение от nill Посмотреть сообщение
"%g"
%lf
Но если числа будут больше 15 знаков, то без изменений не получится.
nill
9 / 9 / 0
Регистрация: 16.08.2009
Сообщений: 417
20.05.2012, 17:52  [ТС]     Как преобразовать большое число в строку #3
diagon,
3292373930.000000
В результате получил число с 6 нулями после точки, а как сдеать чтобы не было нулей ?
diagon
Higher
1928 / 1194 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
20.05.2012, 18:18     Как преобразовать большое число в строку #4
%.0lf
И еще 2 замечания:
1) Зачем использовать double, если есть long long?
2) Использовать sprintf в с++ очень плохо, используйте stringstream'ы либо boost::lexical_cast.
nill
9 / 9 / 0
Регистрация: 16.08.2009
Сообщений: 417
20.05.2012, 19:00  [ТС]     Как преобразовать большое число в строку #5
1) Пока все влазиет и в double, или long double проще преобразовать в строку ?
2) А можно пример stringstream, я при работе со строками всегда использовал sprintf, о другом даже не слышал
boost не надо, там надо инклуды подключать всякие
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2012, 19:07     Как преобразовать большое число в строку
Еще ссылки по теме:

как преобразовать шестнадцатеричную строку в целое десятичное число - C++
как преобразовать данную шестнадцатеричную строку в целое десятичное число (ни как не могу понять) Добавлено через 10 минут как...

Подскажите, как преобразовать строку с IP адресом в число и обратно - C++
Есть IP адрес в std::string "192.168.1.1", нужно преобразовать его в число, а IP адрес числом преобразовать обратно, не используя сторонних...

Преобразовать число в строку/строкук в число - C++
Обьясните, как преобразововать число в строку и наоборот. Искал в гугле, но конкретного ответа так и не получил (все, что узнал, что есть...

Преобразовать строку->число->строку - C++
Всем доброго времени суток! Скоро будет экзамен по программированию.С++ начали изучать в конце семестра. В билете задача написать программу...

Возможно ли преобразовать в число, строку вида: - C++
Если дана строка, например, (1+4+5+7), она может быть преобразована в число?

Преобразовать число int в строку прописью char - C++
Например, вводим 40, 3 должно выдать sorok rubley tridcat kopeek. Пересмотрел много задач с похожей тематикой, но во-первых, ни одна не...


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

Или воспользуйтесь поиском по форуму:
diagon
Higher
1928 / 1194 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
20.05.2012, 19:07     Как преобразовать большое число в строку #6
Цитата Сообщение от nill Посмотреть сообщение
1) Пока все влазиет и в double, или long double проще преобразовать в строку ?
long long - целое число, а также в него влезает больше цифр.

Цитата Сообщение от nill Посмотреть сообщение
А можно пример stringstream, я при работе со строками всегда использовал sprintf, о другом даже не слышал
C++
1
2
3
stringstream sst;
sst << 123456;
string str = sst.str();// str == "123456"
Цитата Сообщение от nill Посмотреть сообщение
boost не надо, там надо инклуды подключать всякие
C бустом основная проблема - установить его, но это полностью окупается различными ништяками.
Например, ваш код можно записать с помощью буста, как
C++
1
string X_str = boost::lexical_cast< string > (3292373930);
Преобразования между другими типами делаются так же легко.
Yandex
Объявления
20.05.2012, 19:07     Как преобразовать большое число в строку
Ответ Создать тему
Опции темы

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