webForumDet fria alternativet

Hur avrundar man ett tal snyggt?

ASP

4 svar · 540 visningar · startad av l-boy

Medlem sedan juli 2003221 inlägg
Frågan#1

Hur avrundar jag snyggt ett tal till närmaste 99-tal, uppåt?

Alltså, 4167 vill jag ha till 4199. 3561 till 3599 osv.

Tack på förhand.

Medlem sedan juni 20014 421 inlägg
#2
foo=4167
bar = CInt(left(foo,Len(foo)-2)&"99")
msgbox(bar)
Medlem sedan juni 200032 967 inlägg
#3

Det är ingen bra ide att försöka sig på att använda msgbox() i asp. ;)

Medlem sedan juni 20014 421 inlägg
#4

Förlåt, skrev det hela som ett lokalt VBS.. :) ;)

Här har du det i en funktion.

foo=30821
bar = Round99(foo)
Response.Write(bar)

Function Round99(nTal)
	If IsNumeric(nTal) Then
		nTmp=CInt(left(nTal,Len(nTal)-2)&"99")
	Else
		nTmp=nTal
	End If
	Round99=nTmp
End Function
Medlem sedan maj 200010 687 inlägg
#5

Inte heller så bra idé att hantera nummer som strängar för att göra avrundningar.
Lite vettigare:

bar = Fix(foo / 100) * 100 + 99
261 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)