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

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

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

При переводе из double в string теряются знаки после запятой - C++

08.01.2014, 05:35. Просмотров 369. Ответов 1
Метки нет (Все метки)

Перевожу переменную double в string

C++
1
2
3
4
5
6
7
stringstream sst;
string f_str;
double f=12345.99;
 
sst << f;                        
f_str= sst.str();sst.str("");
_cprintf("f_str= %s", f_str.c_str());_cprintf("\n");
если число 5 значное или больше , то оба знака после запятой теряются в результате выводится на экран число
12345

А если число 4 значное или меньше выводятся все знаки
1234.99

Как убрать этот лимит или задать его самому, чтобы например можно было преобразовывать 10 значные числа без потери знаков после запятой.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2014, 05:35     При переводе из double в string теряются знаки после запятой
Посмотрите здесь:

C++ Переменная float - знаки после запятой
В массиве double обрубаются знаки после запятой C++
C++ Как перевести double в string с точкой вместо запятой
Появляющиеся нули при переводе из массива char в double C++
знаки после запятой , формат float C++
знаки после запятой C++
Табуляция и знаки после запятой C++
C++ При выводе числа с плавающей запятой теряются последние цифры
Как вывести double до 2 знаков после запятой? C++
При переводе string в long double теряется дробная часть C++
C++ Подсчет знаков после запятой в переменной double
C++ Функция stod отбрасывает знаки после запятой

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5410 / 4806 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.01.2014, 05:51     При переводе из double в string теряются знаки после запятой #2
C++
1
2
3
4
5
6
7
8
9
stringstream sst;
    string f_str;
    double f = 12345.99;
    
    sst.precision(9);
    sst << f;                        
    f_str = sst.str();
    sst.str("");
    cout << "f_str= " << f_str << endl;
Yandex
Объявления
08.01.2014, 05:51     При переводе из double в string теряются знаки после запятой
Ответ Создать тему
Опции темы

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