Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Double-tietotyypin tulostaminen coutilla

k-mikko [05.10.2003 18:38:59]

#

Törmäsin yllättäen näinkin yksinkertaiseen ongelmaan: Tulostaessani double-muotoista desimaalilukua tyyliin
cout << luku << endl;
tulostaa ohjelma ruudulle vain 0. Sinänsä ymmärrettävää, tulostettava luku on 0,5

Ratkaisumalleja?

cloudi [05.10.2003 19:04:47]

#

tohon desim juttuun voinee auttaa
cout.setf(ios::fixed); ei näytä kiintolukuna

cout.precision(2); kahdel desimaalilla
tai
cout.precision(1); yhdel desim

vipemype [05.10.2003 19:29:30]

#

Ootko määritelly tuon luku muuttujan double luku;? Vaikuttaa siltä, että se on int luku;.

k-mikko [05.10.2003 19:37:02]

#

Kyllä se on ihan double

lainaus:

tohon desim juttuun voinee auttaa
cout.setf(ios::fixed); ei näytä kiintolukuna

cout.precision(2); kahdel desimaalilla
tai
cout.precision(1); yhdel desim

En saanut toimimaan. Syy lienee ehkäpä siinä, että käytän moista tyyliin cout.precision(2) << luku << endl;

cloudi [05.10.2003 20:11:52]

#

kokeile laittaa cout.precision(2); omana lauseenaan, ennen sitä luvun syöttöä jo.

jaa tarviikoha kans tuon nimiavaruuden sitte (et kyllä erroreista valitellu yhtikäs)
using namespace std;

k-mikko [06.10.2003 14:58:39]

#

Taitaa onnistua:

printf("Luku on %f", luku);

Mukaan pitää tällöin ottaa se stdio.h

...ja onnistuuhan se! :)

cloudi [06.10.2003 15:33:48]

#

ai printf ja protsentti f (eli c-kieltä)
eiks tuu silloin: %.1lf :llä? kato yhd. desimaalilla.
siis ykkösen jälkeen on äl-kirjain tossa ylläällä!

(ps. mä oon hiema ehkä liikaa doublesoitunut viimeaikoina!!)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta