webForumDet fria alternativet

Heltal som jämnas uppåt?

ASP

9 svar · 496 visningar · startad av Bengan

Medlem sedan juni 2000690 inlägg
Frågan#1

Dum fråga kanske...

Finns det nån funktion i ASP som CInt fast det alltid jämnar uppåt? Alltså 7,3 blir 8 istället för 7 osv...

Har en funktion där heltal skall visas rätt men decimaltal alltid måste jämnas till närmast övre heltal.

Detta funkar inte tex:

KatAntal = CInt(objRec3.RecordCount/2)

Om recordcount är 9 så ger det värdet 4 men jag vill ha 5.

------------------
MvH
/Bengan
www.bengan.com

[Redigerat av Bengan den 26 aug 2000]

Medlem sedan dec. 19996 721 inlägg
#2

Den typ av funktion du är ute efter kallas ceil, men den finns inte i VBScript (däremot i JScript). Du får skriva en själv.

CInt är inte en avrundningsfunktion,utan en typkonverteringsfunktion. Bara för att reda ut det. :)

------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB

Medlem sedan juni 2000690 inlägg
#3

Ajdå...

Hehe, provade lite allt möjligt och skrev såklart lite fel där...

Menade såhär:

KatAntal = objRec3.RecordCount\2

Eller använda Round.

Men det ger som sagt också avrundning neråt, suck...

Hmm, vänta nu här... De enda alternativ jag kan få är antingen ett heltal eller ett tal typ 5,5... och Round avrundar väl uppåt då? Fan vad dum man är :)

------------------
MvH
/Bengan
www.bengan.com

Medlem sedan maj 2000755 inlägg
#4

Hmm round skall avrunda 4,5 till 5 om allt står rätt till... Stämmer inte detta?

Medlem sedan juni 2000690 inlägg
#5

Jo, enligt vad jag läst så skall Round avrunda ,5 uppåt men detta verkar inte alltid funka...

På en del sidor med tex 7,5 så funkar det men på en sida som ger 4,5 så avrundar den till 4!

Jag löste det såhär:

KatAntal = Round((objRec3.RecordCount/2 + "0,1"))

Inte så snyggt men det funkar, alla heltal blir då tex 5,1 och avrundas neråt och alla med ,5 blir ,6 och avrundas uppåt.

------------------
MvH
/Bengan
www.bengan.com

Medlem sedan aug. 2000106 inlägg
#6

Den funktion du söker är inte särskilt svår.

round(talet + 0.49) 'eller 0.5 om den avrundar 0.5->0

------------------
---
/M.

Medlem sedan mars 2001270 inlägg
#7

vill få klarhet..

Hejsan.. jag satt i forumen och sökte på Avrunda Uppåt men eftersom jag inte hittade någon vettig förklaring och en massa skumma försöka att reda ut begrepp så vill jag statuera följande fungerande exempel till att avrunda ett decimaltal Uppåt:

Pages = 12.5
DecCheck = Pages - Int(pages)
IF DecCheck <> 0 then Pages = Int(Pages) + 1

Detta exempel avrundar 12.5 till 13. Vad du än använder för värde så avrundas det uppåt om det inte är ett jämnt heltal från början och således inte skall avrundas. Då görs ingenting med värdet.

Hoppas någon av er kan dra nytta av denna funktion!

Medlem sedan feb. 200112 078 inlägg
#8

Posta sådana här saker i Script ASP, VB också, så får fler nytta av det! :i :)

Medlem sedan dec. 2000557 inlägg
#9

Har en exakt likadan funktion.. :)

<%

Function iRound(num)

	If NOT (num-Int(num)) = 0 Then iRound = Int(num)+1

End Function

%>

Anropas med:

<%= iRound([i]tal[/i]) %>
Medlem sedan maj 200010 687 inlägg
#10

Äsch!

261 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)