Обрезать число с плавающей запятой, чтобы было только два десятичных знака

С++

Я хотел бы cout float f = 2.3333, но только с двумя десятичными знаками. Как я могу это сделать? Я помню что-то вроде этого, но это не работает:

cout << f:2 << endl;

person gen    schedule 20.04.2013    source источник
comment
Я не знаю, откуда вы это помните!   -  person Joseph Mansfield    schedule 20.04.2013
comment
@sftrabbit Я предполагаю, что он помнит это из printf() или другого языка программирования.   -  person Zyx 2000    schedule 21.04.2013


Ответы (2)


Использование манипуляторов потоков fixed и setprecision:

#include <iomanip>

float f = 2.3333;
std::cout << std::setprecision(2) << std::fixed << f;
person jrok    schedule 20.04.2013

Мне удалось решить это без iomanip:

cout << (((int)f*100) % 100)/100; 
person gen    schedule 21.04.2013