Om vi bortser från negativa tal som kan hanteras lite olika i olika språk [1] så kan man skriva pseudokoden (eftersom jag inte använder ASP/VbScript)
if (tal MOD 10) == 0 then
avrundat = tal
else
avrundat = tal - (tal MOD 10) + 10
6 svar · 1 169 visningar · startad av Troxy
Hej,
hur avrundar jag uppåt till närmaste tiotal med ASP/VbScript?
Om jag har talet 55 eller 32 så vill jag få ut 60 respektive 40.
Tacksam för svar!
Om vi bortser från negativa tal som kan hanteras lite olika i olika språk [1] så kan man skriva pseudokoden (eftersom jag inte använder ASP/VbScript)
if (tal MOD 10) == 0 then
avrundat = tal
else
avrundat = tal - (tal MOD 10) + 10
function RoundUp(n, x)
Dim ret
if n mod x <> 0
ret = n + (x - (n mod x))
else
ret = n
endif
RoundUp = ret
end function
med reservation för syntaxfel
Tack för era svar. :)
spango, din funktion fungerade fint efter lite fix.
Nu inser jag att jag egentligen ville veta hur långt det var kvar till nästa tiotal...
Detta löste jag såhär, vilket kanske inte är så elegant eftersom strängar blandas med tal.
Tal1 = 32
Tal2 = 10 - CByte(Right(CStr(Tal1),1))
Troxy skrev:
Nu inser jag att jag egentligen ville veta hur långt det var kvar till nästa tiotal...
Detta löste jag såhär, vilket kanske inte är så elegant eftersom strängar blandas med tal.
Du kan göra så här om du vill få koden lite mer generaliserbar:
function DistanceTo(num, target)
DistanceTo = (target - (num mod target)) mod target
end function
DistanceTo(4, 10) ' ger 6
DistanceTo(7, 10) ' ger 3
DistanceTo(20, 10) ' ger 0
DistanceTo(10, 10) ' ger 0
spango, ååh tack för det där! :e
Jag håller på och bygger en databas-class för att generera och validera OCR-nummer för bankgiro.