webForumDet fria alternativet

Siffer problem

4 svar · 275 visningar · startad av alfa

alfaMedlem sedan juni 2000202 inlägg
#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

#L#Medlem sedan juli 20021 363 inlägg
#2

nyVar = Round(dinDatabasVariabel, 2)

SebbeMedlem 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

@ndersMedlem sedan juni 200032 969 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,

alfaMedlem 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

126 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)