Vraag & Antwoord

Programmeren

afronden met 2 cijfers achter de komma bij c ++

3 antwoorden
  • hoe kan ik bij c ++ de uitkomst met 2 cijfers achter de komma instellen zeg maar welke commando
  • 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
  • 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.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.