Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > float


Автор: skrip 23.8.2006, 11:55
float i = 122.12345;
std::cout << i << std::endl;

на консоли  122.123. ПОЧЕМУ не 122.12345

Автор: 0x07L 23.8.2006, 12:02
Не вмещается полностью твое число в память, отводимую под float. Используй double.

Автор: Solomon 23.8.2006, 12:06
0x07L, ты не прав. Вмещатся то оно вмещается не такое уж это большое число. Это скорее всего специфика отображения чисел с помощью cout. 
double в этом случае не поможет, можеш проверить.

Автор: albertn 23.8.2006, 12:23
Да здесь просто нужно указать cout сколько знаков писать. 
Проверить не могу, поэтому буду писать по памяти
Код

std::cout << std::cout.precision(8) << i << std::endl;

Автор: MAKCim 23.8.2006, 12:24
Код

#include <iostream>
#include <iomanip>

...
float i=122.12345;
std::cout<<std::setprecision(8)<<i<<std::endl;
...

упс,
albertn опередил

Автор: Бор 26.8.2006, 23:12
cout.precision(x);

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)