Avatar billede axe2 Nybegynder
25. november 2002 - 17:23 Der er 11 kommentarer og
1 løsning

runde en double af

hvordan runder jeg en double af den f.eks fra 1,0999999
kommer til at blive 1.10 istedeet så der kun er 2 decimaler
Avatar billede carstenknudsen Nybegynder
25. november 2002 - 17:45 #1
public static double afrund(double tal,int cifre){
double faktor = Math.pow(10,cifre);
long i = Math.round(tal*faktor);
return (double)i/faktor;
}
I dit eksempel:
double x = 1.09999;
double y = afrund(x,2);
Avatar billede arne_v Ekspert
25. november 2002 - 17:49 #2
Brug carstens løsning men overvej at sende
kalde den med 100 i.s.f. 2 og undlad pow kaldet.
Avatar billede axe2 Nybegynder
25. november 2002 - 18:21 #3
s
Avatar billede axe2 Nybegynder
25. november 2002 - 18:21 #4
er der en der har tid til at kikke på noget kode, jeg har problemer med double værdier der ikke nedbrydes korrekt
Avatar billede arne_v Ekspert
25. november 2002 - 18:34 #5
Tja - prøv og giv os koden. Der er sikkert en som
har tid til at kigge på det.
Avatar billede carstenknudsen Nybegynder
25. november 2002 - 19:20 #6
Jeg vil mægtig gerne se kode der nedbryder double værdier:
arne_v: ja, men jeg vil nu foretrække at have en lidt
mere generel kode, en metode der afrunder til to cifre, tja...
Avatar billede arne_v Ekspert
25. november 2002 - 19:23 #7
carsten det er ligeså generelt som din metode. Men sender
bare faktor med over i.s.f. cifre.

public static double afrund(double tal,int faktor){
long i = Math.round(tal*faktor);
return (double)i/faktor;
}

double x = 1.09999;
double y = afrund(x,100);
Avatar billede arne_v Ekspert
25. november 2002 - 19:25 #8
Hvis man har hang til subtiliteter, så er den faktisk
mere generel, da man kan afrunde til ikke 10 baseret.

4 vil f.eks. afrunde til nærmeste .00/.25/.50/.75 !
Avatar billede carstenknudsen Nybegynder
25. november 2002 - 19:31 #9
arne_v: ja, det har du da ret i! men så skal
beregningen bare ligge et andet sted, dvs
den vil f.eks. blive hardcodet som "100" eller
"100000"; det er nok det mest normale at man
kender antal cifre, der evt er tastet ind i
et felt, og skal man så bruge tabelopslag:)
Avatar billede arne_v Ekspert
25. november 2002 - 19:41 #10
I nogle tilfælde ja. Men det vil stadigvæk være
bedre at lave den beregning en gang end ved hvert
kald.

Men i andre tilfælde ikke vil det måske ligge helt fast,
hvis mange cifre der skal vises.
Avatar billede axe2 Nybegynder
25. november 2002 - 19:50 #11
Sikke som i hygger hvem skal have point, har ikke brugt svaret til noget, den der råber højst får dem ellers får carsten pointene :)
Avatar billede arne_v Ekspert
25. november 2002 - 20:15 #12
Carsten har da fortjent pointene.

Det var hans løsning.
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