webForumDet fria alternativet

Siffer problem

ASP

4 svar · 277 visningar · startad av alfa

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

Hur gör man på bästa sätt om jag vill ha 2 siffror efter ,

Hämtar jag tex från databasen

värde
5,2
5,22

Skriver ut på sidan
5,2
5,22

Jag vill att den ska skriva ut detta på sidan

5,20
5,22

Alfa

Medlem sedan juli 20021 363 inlägg
#2

nyVar = Round(dinDatabasVariabel, 2)

Medlem sedan jan. 20032 285 inlägg
#3
intEtt = 2.2
intTva = 2.22

If Len(Right((Len(intEtt) - InStrRev(intEtt, ".")))) = 1 Then
  intEtt = intEtt & "0"
End If
If Len(Right((Len(intTva) - InStrRev(intTva, ".")))) = 1 Then
  intTva = intTva & "0"
End If

Något sånt?

/red Ja, #L#, så kan man ju också göra. :p

Medlem sedan juni 200032 967 inlägg
#4

#L# skrev:

nyVar = Round(dinDatabasVariabel, 2)

Nej, så kan man inte göra. Round avrundar endast, och har inget att göra med antalet decimaler i resultatet. Om du avrundar ett tal med en decimal, så har avrundningen också en decimal om du anger ett högre tal.

Sebbe skrev:

Något sånt?

Må fungera, men man skall inte gå över åar efter vatten, än mindre stora hav. ;)

Strängfunktioner använder man på strängar, talfunktioner på tal.

dblMyDouble = CDBl(objRS("fältet"))
Response.Write FormatNumber(dblMyDouble, 2)

Microsofts VB-Scriptreferens är kanonläcker. ;)

Mvh,

Medlem sedan juni 2000202 inlägg
#5

Tackar det funkar bra.

For i = 1 to n
Kop_antal(i) = CDBl(objRecordset1("Antal_kop"))
Kop_pris(i) = CDBl(objRecordset1("Pris"))

Problemet som kom är när det inte finns några värden.

For j = n--1 to 5
Kop_antal(j) = 0
Kop_pris(j) = " "
next

Ska titta lite på det så löser det nog sig.

Tack

260 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)