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

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

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

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

08.01.2014, 05:35. Просмотров 406. Ответов 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 значные числа без потери знаков после запятой.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2014, 05:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос При переводе из double в string теряются знаки после запятой (C++):

В массиве 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, в...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.01.2014, 05:51 #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;
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2014, 05:51
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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