Avatar billede area404 Nybegynder
13. juni 2008 - 17:41 Der er 7 kommentarer og
1 løsning

Afrunde til nærmeste hele tal.

Hej, hvordan afrundes dette tal til nærmeste hele tal?

char test;
test = (0,000416667*0,4)/(16*0,00000005);

På forhånd tak :-)
Mvh. Ron
Avatar billede virtual1ty Nybegynder
13. juni 2008 - 17:48 #1
Avatar billede arne_v Ekspert
13. juni 2008 - 17:52 #2
ceil runder op og floor runder ned men afrund til naermeste kan laves som:

(int)(x+0.5)
Avatar billede area404 Nybegynder
13. juni 2008 - 19:17 #3
Rund ned er helt OK, jeg takker! :-)
Avatar billede bitmatic Nybegynder
13. juni 2008 - 21:48 #4
floor(x+0.5) afrunder korrekt. Både op og ned :)
Avatar billede killer_bee Nybegynder
19. juni 2008 - 13:37 #5
hvorfor ligge 0.5 til?? hvis den bare skal afrundes (ikke rundes op) så er det nok at caste den til int?? ... eller??
Avatar billede arne_v Ekspert
19. juni 2008 - 15:08 #6
cast til int runder ned

nedrund(x + 0.5) = afrund(x)

[med dansk afrundings stil]
Avatar billede bitmatic Nybegynder
19. juni 2008 - 15:09 #7
jo..... Det er da rigtigt.
Hvis man er ligeglad med om 12.67 bliver til 12 eller 13, så er det nok at caste til int (som bare trunkerer), men når man nu kan lave afrundingen korrekt med en simpel addition af 0.5, så vil det i mange tilfælde være de få ekstra clock-cycles værd.
Avatar billede killer_bee Nybegynder
19. juni 2008 - 16:21 #8
Ja men det er jo mig der vrøvler... havde bare den ide (ved ikke hvorfor) at int cast ville runde op ...
var bare en hjerneblødning
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