Avatar billede simonsenpq Nybegynder
23. oktober 2002 - 16:32 Der er 4 kommentarer og
2 løsninger

float med 2 decimaler

Hvordan afrunder jeg en floatværdi til 2 decimaler i C?
Avatar billede arne_v Ekspert
23. oktober 2002 - 16:38 #1
Hvad med: gang med 100, konverter til int, konverter tilbage til
float og divider med 100 ?
Avatar billede arne_v Ekspert
23. oktober 2002 - 16:39 #2
Normalt tror jeg dog at man vilel holde den i fuld precision
og så bare skrive den ud med 2 decimaler:

printf("%.2f",x);
Avatar billede soreno Praktikant
23. oktober 2002 - 16:40 #3
en mulighed er at,
ganger den med 100, typecaste til en int/long og typecaste tilbage til en float og dividerer med 100.

hvis det er fordi du vil skrive den stdout kan du bruge printf til at cutte det sidste væk, se:
#include <stdio.h>

int main(int argc, char **argv)
{
    float test = 1.23456789f;
    printf("test har værdien %f\n", test);
    printf("test har værdien %.2f\n", test);
    return 0;
}
Avatar billede soreno Praktikant
23. oktober 2002 - 16:41 #4
der var vi da vist enige.. :-)
Avatar billede oink Nybegynder
23. oktober 2002 - 16:49 #5
En anden mulighed:

int main()
{
    float test = 1.1234f;
    cout << setprecision(3) << test << endl;
    return 0;
}
Avatar billede arne_v Ekspert
23. oktober 2002 - 16:56 #6
Så er vi vist ovre i C++.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester