Avatar billede Max Novice
01. februar 2002 - 15:12 Der er 5 kommentarer og
1 løsning

Afrunding.. hurtige points.

Hej igen.
Kan i fortælle mig hvordan det nu lige er man afrunder en double, så den har - eksempelvis - kun to decimaler, og så det bliver afrundet korrekt.
F.eks. 10,215 bliver afrundet til 10.22 og ikke truncated til 10.21..

Mvh.
/mnc
Avatar billede carstenknudsen Nybegynder
01. februar 2002 - 15:15 #1
Benyt Math.round metoden. Den afrunder til et
heltal så du skal først gange med hundrede og
bagefter dividere med hundrede efter afrunding.
Avatar billede carstenknudsen Nybegynder
01. februar 2002 - 15:16 #2
double x = 10.215;
x=(Math.round(x*100.0))/100.0;
Avatar billede Max Novice
01. februar 2002 - 15:17 #3
.. og det truncater ikke bare de sidste decimaler?
Avatar billede carstenknudsen Nybegynder
01. februar 2002 - 15:22 #4
nej
Avatar billede Max Novice
01. februar 2002 - 15:32 #5
works like a charm.. points på vej.
Avatar billede martin_schou Nybegynder
01. februar 2002 - 15:33 #6
lille kommentar til CKs svar:
Flyt det ind i en metode:
private double rund_tal_af( double tal, int antal_decimaler)
{
  return=(Math.round(x*(Math.pow( 10, antal_decimaler )))/Math.pow( 10, antal_decimaler );
}

på den måde slipper du for at skrive metoden om konstant, for at kunne lave afrundinger til 1, 2, 3 ... n decimaler.
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