webForumDet fria alternativet

Hur avrundar man så det blir en nolla på slutet?

ASP

10 svar · 371 visningar · startad av koltrasten

Medlem sedan okt. 2002272 inlägg
Frågan#1

Variabel innehåller 5. Hur gör jag för att avrunda den så att den blir 5,00?

Medlem sedan sep. 2002366 inlägg
#2

num = "5" & ",00" ?

Tror nog du menar om du har t ex en variabel
num = 5.23941 och vill ha
5.23 ?

Isåfall kan du göra såhär:
num = INT(num*100)/100

-Eitraz

Medlem sedan mars 20015 287 inlägg
#3

Vet inte om du går, men annars så i tråden "bakom" dig diskuterades ett liknande problem. http://www.webforum.nu/showthread.php?s=&threadid=58894
Dock blir det text av ditt tal, men det är väl ändå bara en visuell grej.

RED. Kanske missuppfattade jag frågan, om det är som så att du verkligen ska avrunda så har du funktionen round:

num = 5.23941
num = round(num,2)

= 5,24

Medlem sedan okt. 2002272 inlägg
#4

Fel! Jag skall förklara lite bättre! :)
I en variabel har jag olika tal, t.ex. 2,3434, 2, 3,9. Jag vill att det skall bli så här:
2,3434 -> 2,34 (funkar med round)
2 -> 2,00 (funkar inte med round - skriver man att den avrundar till 2 decimaler avrundar den till heltal)
3,9 -> 3,90 (funkar inte med round - skriver man att den avrundar till 2 decimaler avrundar den till en decimal)

Förstår ni? ;)

Medlem sedan sep. 2002366 inlägg
#5

Har gjort en rekursiv funktion jag tror ska fungera.

Function format_num(num,dec)
	If dec > 0 Then
		format_num = format_num(num,dec-1) & Right(INT(num*10^dec),1)
	Else
		format_num = INT(num) & ","
	End If
End Function

Använd den genom att skriva
<%=format_num(tal,antal_decimaler)%>

ex:
<%
num = 5.2
%>
<%=format_num(num,2)%>

ger

5,20

-Eitraz

Medlem sedan okt. 20005 273 inlägg
#6

Eller så kan man använda VBScripts funktion FormatNumber()

[red]
Dim i
i = 4,9
Response.Write FormatNumber(i, 2)
[/red]

Sen kan du ju använda Round() eller vad du vill inom den funktionen...

mvh icaaq

Medlem sedan mars 20015 287 inlägg
#7

Jo, nog förstår vi allt, det var ju det vi menade både jag o Eitraz i början av våra inlägg.
Men det finns bättre sätt..
Gör så här då:

num = 5.23941
num = FormatNumber(round(num,2),2)
response.write num
Medlem sedan mars 20015 287 inlägg
#8

Åsså var man lite sen som vanligt...

Medlem sedan sep. 2002366 inlägg
#9

Fräckt fräckt.. måste lära mig alla fördefinierade grejor i ASP känner jag ;)

MEN! Då hade jag ju missat den roliga rekursiva programmeringen (Leve HASKELL) :birp

-Eitraz

Medlem sedan okt. 20005 273 inlägg
#10

;)

Medlem sedan okt. 2002272 inlägg
#11

Valde icaaqs kod!

Tack!!

308 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
136 ms — deklarationer (db)
0 ms — hämta statistik (cache)
168 ms — hämta tråd, inlägg och bilagor (db)
136 ms — ändringar (db)