Avatar billede guldklumpen Nybegynder
01. marts 2007 - 15:28 Der er 10 kommentarer og
1 løsning

runde op til nøærmeste tusinde

Hvordan runder jeg op til nærmeste tusinde, således at 534129 bliver til 535000.
Avatar billede fennec Nybegynder
01. marts 2007 - 15:35 #1
tal = 534129
if tal mod 1000 <> 0 then
  tal = tal/1000
  tal = fix(tal)
  tal = (tal+1)*1000end if
end if
Avatar billede fennec Nybegynder
01. marts 2007 - 15:36 #2
der var en end if formeget:

tal = 534129
if tal mod 1000 <> 0 then
  tal = tal/1000
  tal = fix(tal)
  tal = (tal+1)*1000
end if
Avatar billede guldklumpen Nybegynder
01. marts 2007 - 15:38 #3
perfekt - tak for hurtig indsats
Avatar billede guldklumpen Nybegynder
01. marts 2007 - 15:38 #4
havde set det
Avatar billede softspot Forsker
01. marts 2007 - 15:56 #5
kunne man ikke bare have udført

round(tal+500)
Avatar billede softspot Forsker
01. marts 2007 - 15:58 #6
Aaarj sorry, man skal jo nok lige dividere med 1000 og gange med 1000 de rigtige steder :D

round((tal+500) / 1000) * 1000
Avatar billede fennec Nybegynder
01. marts 2007 - 16:06 #7
Den skulle altid runde op, hvorfor vi skal have gang i Fix funktionen i stedet. Round runder jo også ned :o)
Avatar billede fennec Nybegynder
01. marts 2007 - 16:10 #8
... Resten af min kode forsvandt...

Jeg kan ikke helt gennemskue om din +500 vil virke rigtig, men det kunne se sådan ud. Problemet ligger dog stadig med 21000, som du lægger 500 til, også vil det blive rundet op til 22000 med din kode. Derfor indsatte jeg et mod tjek først.
Avatar billede softspot Forsker
01. marts 2007 - 16:16 #9
ja, ok, men så kan det vel klares med at lægge 499 til i stedet for ;) - problemer er til for at blive løst :D
Avatar billede fennec Nybegynder
01. marts 2007 - 16:28 #10
Tænkte også på om 499 ville virke, men gad ikke teste det. Det må blive næste gang der kommet et afrundings spørgsmål er på E...
Avatar billede softspot Forsker
01. marts 2007 - 16:42 #11
Umiddelbart vil jeg jo mene at

(21000+499)/1000 = 21,499 bliver rundet ned til 21,000 => 21000

og at

(21001+499)/1000 = 21,500 bliver rundet op til 22,000 (jf. din egen pointe) => 22000

så jeg vil da tro det fungerer :)
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