Russian Qt Forum

Программирование => С/C++ => Тема начата: Wexum от Март 25, 2006, 13:36



Название: Как победить ВС 3.1?
Отправлено: Wexum от Март 25, 2006, 13:36
Волею судеб получилось так, что выбирать компилятор я не могу. Задачу необходимо решить средствами ВС 3.1 причем на С++ и с использованием потоковых классов.
Вот собственно сам вопрос: мне необходимо производить форматный вывод чисел, причем с использованием оператора помещения в поток.
Если использовать компилятор Borland C++ 5.6(к примеру), то код
Код:

float d = 0.0;
cout.setf(ios::fixed);
cout.precision(3);
cout << d << endl;

отработает корректно и я получаю нужное мне 0.000
ВС 3.1 данный код понимает по своему и помещает в поток просто 0, хотя с числами, которые имеют дробную часть работает корректно.

Может быть кто-нибудь сталкивался с такой ситуацией.


Название: Как победить ВС 3.1?
Отправлено: Gray_M от Май 06, 2006, 15:16
Привет.
Используй флаг showpoint
Код:

float d = 0.0;
cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout.precision(3);
cout << d << endl;

Удачи.