C++ prezycja wyświetlania double przez cout

0

Cześć, mam taki drobny problem czysto estetyczny.

Jak za pomocą cout ustawić by precyzja wyświetlania wynosiła dwa miejsca po przecinku niezależnie od tego ile liczb jest przed nią? mianowicie mam np wyniki 138.123 oraz 0.92314, chcę aby były wyświetlone jako 138.12 oraz 0.92 i powiedzmy dokładnie na 6 polach (są to wyniki w macierzy i chcę zachować optymalną przejrzystość dlatego setw mam na 6 (bo wiem że wartości są do 3 miejsc przed przecinkiem+chcę 2 po + 1 na odstępy), ale setprecision(5) no nie daje tego co chcę)

0

tam to już byłem ale na nic się tamto nie przydało. Przecież napisałem, że chodzi mi o to, by po przecinku zawsze były tylko 2 cyfry ewentualnie zawsze do 2 cyfr. Precision które jest na tej stronie podane ustala tylko ilość cyfr znaczących, więc nie o to chodzi. Chodzi mi o odpowiednik printf("%.2lf", ...) dla strumienia cout.

dobra sorry poprzednio widocznie nie zrozumiałem tego artykułu i dopiero teraz się przez niego prawidłowo przegryzłem ;| znajomość języka nie zaszkodzi... chodziło mi dokładnio o coś takiego

cout.precision(2);
cout.setf(ios::fixed,ios::floatfield);
cout<<setw(7)<<macierz[w][k];

zatem dzięki za pomoc :)

0
cout << setprecision(2) 

powinno pomóc, nagłówek <iomanip>(nie wiem, może zadziałać bez) :)

0

Sorka, sztreliłem gafę ;/

0
#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
    double a=12.121222;    
    cout<<setprecision(2)<<fixed<<a<<endl;

    system("PAUSE");
    return EXIT_SUCCESS;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1