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

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

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

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

08.01.2014, 05:35. Просмотров 400. Ответов 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 теряются знаки после запятой
Посмотрите здесь:

В массиве double обрубаются знаки после запятой - C++
Всем привет и хорошего настроения! Мой вопрос: почему при выводе простого массива, элементы которого типа double, уменьшается количество...

При переводе string в long double теряется дробная часть - C++
Помогите с программой. При переводе string в long double дробная часть становится равной нулю(не зависит от длины числа). #include...

Как перевести double в string с точкой вместо запятой - C++
делаю перевод типа double в string double X=0.5; string X_str; char szbuff; sprintf(szbuff, &quot;%g&quot;, X); ...

При выводе числа с плавающей запятой теряются последние цифры - C++
Доброго времени суток! Мне дано число 0,1025390625. double отрезает конец и выводит 0.102539. Как мне сохранить это число целиком и...

знаки после запятой - C++
Здравствуйте, простой вопрос на который я никак не могу найти ответ. Почему после компиляции, программа отказывается показывать знаки...

Появляющиеся нули при переводе из массива char в double - C++
Здравствуйте! Пишу калькулятор и описываю кнопку &quot;+/-&quot;. a=atof(nBuf); a=a*(-1); sprintf (nBuf, &quot;%f&quot;, a); nBuf - массив char, в...

Табуляция и знаки после запятой - C++
Здравствуйте, помогите пожалуйста. Как сделать так, чтоб программа выводила данные в нормальном виде, То есть одинаковое количество...

Переменная float - знаки после запятой - C++
Итак я задаю какую-либо переменную типа float. Потом, с помощью scanf кладу в эту переменную значение 3.2 (к примеру.) Затем, с помощью...

знаки после запятой , формат float - C++
я вот что делаю: float i = *(float*)0x0000000; приравниваю значение адреса в формате флоат , мне нужно сделать чтобы переменная...

Функция stod отбрасывает знаки после запятой - C++
Добрый день. Подскажите, почему функция stod может отбрасывать все символы после точки? double* OpValue = new double; cout &lt;&lt;...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 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;
Ответ Создать тему
Опции темы

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