10. marts 2006 - 14:46Der er
11 kommentarer og 1 løsning
Oprunde et tal
Hey Jeg har et script der tæller hvor mange billeder der er i en mappe. Det tal vil jeg gerne have divideret med 9, således at resultatet giver et helt tal og hvis det giver et uligetal, fx 2,1, skal dette rundes op til 3
ALLE tal skal oprundes, så snart det hedder 2,0001 skal det oprundes til 3
Synes godt om
Slettet bruger
10. marts 2006 - 14:59#3
Hej cyberkox! Dette kan man ikke umiddelbart... I hvert fald ikke med round og formatnumber... For det er jo egentlig ikke matematisk korrekt e.g. at oprunde tallet 2,1 til 3, men hvis det er det du gerne vil kan du eventuelt bruge nedenstående function: <% function afrund(streng) afrund = streng if (afrund <> "" AND NOT isnull(afrund)) then strafrund = split(afrund,",") for i=0 to ubound(strafrund) talantal=talantal+1 next if talantal > 1 then tal = split(afrund,",") afrund = tal(0)+1 else afrund = afrund end if end if end function %> <%=afrund("2,1")%>
- Denne skulle gerne virke... men jeg har ikke testet den...
De normale afrundingsrutiner fungerer ikke i dit tilfælde, fordi de runder op efter normale afrundingregler, dvs. 0.5+ rundes op, ellers rundes ned.
Du er derfor nød til at lave din egen logik til oprunding. Det kunne f.eks. være at du du lagde en til heltalsresultatet af divisionen. Det har bare den ulempe at hvis divisionen rent faktisk giver et heltal, så får du en for meget (f.eks. vil 18/9 jo give 2 og ikke 3 som mit forslag ville give). Så skal du til at implementere undtagelser i din afrunding, f.eks. hvis tal divideret med 9 = heltallet af tal divideret med 9 så skal der ikke lægges en til ellers skal der. Noget i stil med dette:
tal = 25 if cdbl(int(tal/9)) < cdbl(tal/9) then antal = int(tal/9) + 1 else antal = int(tal/9) end if
Jeg er ikke helt sikker på at cdbl er nøvendig, men har taget den med alligevel.
jeg mente der var en funktion der kunne klare det , men jeg kan da godt nok ikke lige fiden den, men jeg er kommet frem til at int(tal+1) også vil runde dit tal op til næste hele tal
Synes godt om
Ny brugerNybegynder
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.