nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Manipolatori IO del c++

Von: Gabriele Greco (gabrielegreco@removeuppercasetomailtin.it) [Profil]
Datum: 04.06.2008 12:12
Message-ID: <ATt1k.68938$o06.40760@tornado.fastwebnet.it>
Newsgroup: it.comp.lang.c++
C'e' un modo con i manipolatori del C++ di ottenere su float o double 5
decimali, se il numero li ha o meno se gli ultimi decimali sono 0?

Ho provato due cose:

std::cout << std::setprecision(6) << myfloat << std::endl;

Funziona ma solo se la parte decimale del numero ha una sola cifra,
senno' il numero dei decimali decresce (e' documentato)

1,23456   -> 1.23456 <- corretto
11,23456  -> 11.2345 <- SBAGLIATO
11,5      -> 11.5    <- corretto

std::cout << std::setprecision(5) << std::fixed << myfloat <<
std::endl;

1,23456   -> 1.23456  <- corretto
11,23456  -> 11.23456 <- corretto
11,5      -> 11.50000 <- SBAGLIATO

Possibile che non sia possibile fare altrimenti, devo rassegnarmi a
usare sprintf? :)

[ Auf dieses Posting antworten ]

Antworten