Avatar billede pollas Nybegynder
01. februar 2001 - 04:12 Der er 4 kommentarer og
1 løsning

Afrunding opad

Hvordan runder jeg nemmest et tal op, altså ikke alm. afrunding, men en sikker opadgående afrunding.

Er tallet bare en smule over et helt tal skal det afrundes til næste hele.

På forhånd tak,

/A
Avatar billede tdaugaard Nybegynder
01. februar 2001 - 07:24 #1
\"en smule\" ?
Dvs.

0,1 skal rundes op til 1 ? og 1,1 til 2 osv. ?

dblTal = 1.29
If Int(dblTal) < dblTal Then dblTal = Int(dblTal) + 1

Vil gøre netop det...

\"Hvis nedrundingen (Int()) er mindre end \"tallet\" så tag nedrundingen og læg 1 til.\"
det er det jeg lige har gjort, og det virker helt fint.

Avatar billede mettle Nybegynder
01. februar 2001 - 08:27 #2
Hvis du ikke kan lide If-funktionen, så prøv og se om dette ikke virker....

a=int(a) + 1 AND int(2 + a - int(a))

Jeg har ikke programmeret i ASP ( men i VB) og ved egentlig ikke om dette virker i ASP - men jeg går ud fra at ASP kender den logiske operation AND.

For de ikke indviede er min tankegang:
- Først afrundes tallet [int(a)]
- Dernæst findes forskellen mellem a og int(a) og trækkes fra tallet 2 - og afrundes [int(a -(a - int(a)))]
Dernæst laves en sammenlignning på sidste bit:
    Hvis a = int(a) bliver punkt 2 lig tallet 2 og kommandoen 1 AND 2 = 0    [00000001 AND 00000010 = 00000000]
    Hvis a > int (a) bliver punkt 2 lig tallet 1 og kommandoen 1 AND 1 = 1    [00000001 AND 00000001 = 00000001]

Det skulle give det samme resultat som hos tdaugaard... måske endda hurtigere da jeg mener at jeg fik at vide at en if-funktion tager forholdsvis lang tid i forhold til logiske operationer...

Jeg vil gerne have respons på om det virker....

Mettle / Jørn
Avatar billede erikjacobsen Ekspert
01. februar 2001 - 09:48 #3
Man plejer vist bare at lægge en halv til og så bruge Round:

  a=1.1
  response.write round(a+0.5)
Avatar billede erikjacobsen Ekspert
01. februar 2001 - 09:52 #4
Nå nej, så bliver et 1-tal jo til 2. ;-) Måske  round(a+0.499999999)
men det er jo ikke så kønt
Avatar billede morpheus Nybegynder
01. februar 2001 - 13:36 #5
Brug RoundUp ! :o) *lOl*
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