Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

afronden met 2 cijfers achter de komma bij c ++

MacNetron
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

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