anoniem Geplaatst: 4 maart 2004 Delen Geplaatst: 4 maart 2004 hoe kan ik bij c ++ de uitkomst met 2 cijfers achter de komma instellen zeg maar welke commando Quote Link naar reactie
anoniem Geplaatst: 4 maart 2004 Auteur Delen Geplaatst: 4 maart 2004 Algemeen: je wilt twee cijfers achter de komma dus eerst: getal*10^2 dan afronden: de integer van (getal*10^2)+0.5 dan weer naar goede grootte: delen door 10^2 --> (int((getal*10^2)+0.5))/10^2 zie maar hoe dsat moet in C++, scriprequests zijn duidelijk niet de bedoeling Quote Link naar reactie
anoniem Geplaatst: 4 maart 2004 Auteur Delen Geplaatst: 4 maart 2004 Er is geen direct commando voor, je moet het zelf berekenen (indien je geen string wilt, dan kan je afronden met printf). Ik heb even zitten knutselen, en deze functie snel in mekaar gedraaid. Gaat er van uit dat je een float als parameter meegeeft en aantal decimalen als integer.[code:1:da8eec8ec0]#include <math.h> float Round(const float &getal, const int decimalen) { float comp1, comp2(getal * powf(10.0f, (float) (decimalen + 1))); if(number < 0.0f) comp1 -= 5.0f; else comp2 += 5.0f; comp2 /= 10.0f; modff(comp1, &comp2); return comp2 / powf(10.0f, (float) decimalen); }[/code:1:da8eec8ec0]Aanpassen voor double getallen moet niet zo'n punt zijn lijkt me. Indien je met de console pipeline werkt (cout, cin etc.), dan is het simpeler:[code:1:da8eec8ec0]cout << setprecision(2); cout.setf(ios::showpoint | ios::fixed);[/code:1:da8eec8ec0]En dan je uitvoer met cout. Quote Link naar reactie
anoniem Geplaatst: 13 april 2004 Auteur Delen Geplaatst: 13 april 2004 Ik zit nu even niet achter de "programmeer-PC" maar volgens mij kan het ook gewoon met printf... Toch? Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen