Potrzebuję pomocy przy formatowaniu wyjściowym przy użyciu strumieni C++. Chciałbym wydrukować liczby ze stałą kropką dziesiętną i co najwyżej 2 miejscami końcowymi. Próbowałem następujących czynności:Limit liczby końcowych zer dla ustalonego wyjścia
#include <iostream>
#include <iomanip>
using namespace std;
int main(int argc, char **argv)
{
float testme[] = { 0.12345, 1.2345, 12.345, 123.45, 1234.5, 12345 };
std::cout << std::setprecision(2) << std::fixed;
for(int i = 0; i < 6; ++i)
{
std::cout << testme[i] << std::endl;
}
return 0;
}
Wyjście jest:
0.12
1.23
12.35
123.45
1234.50
12345.00
Ale chciałbym mieć
0.12
1.23
12.35
123.45
1234.5
12345
można to osiągnąć bez użycia dodatkowych manipulacji ciąg?