Я перегрузил оператора < <, чтобы распечатать данные о продукте в моей программе.установить точность перегруженного оператора <<
ostream& operator<< (ostream &out, const Product& p) {
return out << '\t' << (int)p.code << "\tR$ " << p.price << '\t' << p.name;
}
, но мне нужно изменить точность p.price до 2 десятичных цифр.
Я уже пробовал out.setprecision (2), но он не работал.
Это та часть, которая печатает продукт:
cout << this->items[i] << endl;
и результат:
253 R$ 13 Paçoca
Мне нужно, чтобы это было R$ 13,00
.
Любые идеи?
Просто цепь его: '... << setprecision (2) << ...'! –
'cout << std :: fixed << std :: setprecision (2) << p.price;' – jrok
Если вы действительно имели в виду '253' (который является значением '(int) p.code'), следует также уходите, просто не выводите его. –