Avatar billede nielsbrinch Nybegynder
27. februar 2002 - 10:01 Der er 2 kommentarer og
2 løsninger

Afrund til to decimaler

Jeg er igang med et projekt hvor jeg skal afrunde en float ned til 2 decimaler - jeg har forsøgt uden held at lave min helt egen afrundingsmetode ... men der bør jo være en nem måde evt. ved hjælp af en JDK-klasse at afrunde til 2 decimaler. Min linje ser sådan ud:

float estimeret = (akt.getP100o() + 4 * akt.getP100() + akt.getP100p())/6 + akt.getOpst();

...og den genererer altså en float med for mange decimaler, som skal rundes ned til 2 - f.eks 3.72
Avatar billede carstenknudsen Nybegynder
27. februar 2002 - 10:28 #1
Du kan gøre sådan her, og det er let at generalisere
det til n decimaler.
float x = 1.235;
x=((int)100*x)/100.0;
Her rundes der op til 1.24.
Avatar billede guldner Nybegynder
27. februar 2002 - 10:29 #2
Se klassen DecimalFormat i java.text.
Lav en instans med angivelse af mønster:
DecimalFormat df = new DecimalFormat("#.00");
double d = 123.126;
System.out.print(df.format(d));
Vil udskrive tallet 123,13. Bemærk at der rundes op.
Avatar billede guldner Nybegynder
27. februar 2002 - 10:32 #3
df.format(d) er selvfølgelig en streng. Måske var det ikke det du vil have.
Avatar billede nielsbrinch Nybegynder
27. februar 2002 - 11:16 #4
Tak
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