Avatar billede pablo Nybegynder
14. juli 2003 - 21:03 Der er 14 kommentarer og
1 løsning

Rund op til nærmeste 100

Jeg har brug for en funktion til at runde et hel-tal op til nærmeste 100. Dvs. hvis en bruger skriver 120, så skal tallet rundes op til 200. På samme måde, hvis der f.eks. angives 7, så skal der rundes op til 100 osv.

Samme funktion skal kunne håndtere oprunding til nærmeste 1000, 10000 osv. Dvs. funktionen skal kaldes med 2 parametre - f.eks.: rundop(var,1000)

Er der mon en der sidder med en genial ide til at løse dette må en nem måde?
Avatar billede Slettet bruger
14. juli 2003 - 21:22 #1
Et skud:
if len(var) = 3 then
  tal=left(var,1)
  tal = tal + 1
  tal = tal * 100
end if
o.s.v
Avatar billede Slettet bruger
14. juli 2003 - 21:23 #2
Denne er vel bedre?

function rundop(var,antal)
  tal=left(var,1)
  tal=tal+1
  tal=tal * antal
end function
Avatar billede pablo Nybegynder
14. juli 2003 - 21:25 #3
Tak for dit bud. Jeg tror dog ikke helt det går godt.
Hvad hvis var=22 (2 cifre) ? eller mindre?
Avatar billede hells Nybegynder
14. juli 2003 - 21:29 #4
Function rundop(a, b)
    c = cint(a/b)
    c = c * b + b
    rundop = c
End Function
Avatar billede pablo Nybegynder
14. juli 2003 - 21:31 #5
hells: Hvad putter du ind i a og b?
a = angivet tal
b = oprundes-til? (100) ?
Avatar billede hells Nybegynder
14. juli 2003 - 21:32 #6
ja
Avatar billede pablo Nybegynder
14. juli 2003 - 21:36 #7
Det var lige hvad jeg havde brug for!
Tusinde mange tak for hjælpen :-)

/Pablo
Avatar billede hells Nybegynder
14. juli 2003 - 21:39 #8
der var en fejl i scriptet, så for at det skal virke helt korrekt, skal du bruge følgende i stedet:
Function rundop(a, b)
    c = int(a/b)
    c = c * b + b
    rundop = c
End Function
Avatar billede nmh Nybegynder
14. juli 2003 - 21:40 #9
Hvis n er dit heltal så vil dette
((n \ 100)+1) *100
være det du ønsker.
n\100 er heltalsdivision i VBscript
Avatar billede pablo Nybegynder
14. juli 2003 - 21:41 #10
Hvis man angiver f.eks. 100, så rundes op til 200...
Avatar billede nmh Nybegynder
14. juli 2003 - 21:42 #11
Jeg var desværre ikke hurtig nok med dewnne simple løsning.
Avatar billede hells Nybegynder
14. juli 2003 - 21:47 #12
Function rundop(a, b)
    c = int(a/b)
    c = c * b
    If a/b <> int(a/b) Then
        c = c + b
    End If
    rundop = c
End Function

så skulle det være klaret
Avatar billede nmh Nybegynder
14. juli 2003 - 21:48 #13
Vi retter det lige:
((n-1)\100+1)*100
Dette virker for n>0
Avatar billede pablo Nybegynder
14. juli 2003 - 21:49 #14
Ja, det var lige det der skulle til ;-)
Takker mange gange
Avatar billede hells Nybegynder
14. juli 2003 - 21:49 #15
var så lidt
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