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.
9 svar · 507 visningar · startad av Bengan
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.
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.
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
Hmm round skall avrunda 4,5 till 5 om allt står rätt till... Stämmer inte detta?
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.
Den funktion du söker är inte särskilt svår.
round(talet + 0.49) 'eller 0.5 om den avrundar 0.5->0
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!
Posta sådana här saker i Script ASP, VB också, så får fler nytta av det!
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]) %>
Äsch!