webForumDet fria alternativet

Lite If sats problem

ASP

4 svar · 253 visningar · startad av Asa

Medlem sedan dec. 20011 860 inlägg
Frågan#1

Har följande ifsats som inte vill skriva ut rätt. Formatet på totvikt är ex 2,4 (float(14,2))

    
    strVikt = Replace(totVikt,",",".")

    If strVikt <= 1 Then
      strViktKR = "86"
    ElseIf strVikt > 1 and strVikt <= 5 Then
      strViktKR = "108"
    ElseIf strVikt > 5 and strVikt <= 10 Then
      strViktKR = "140"
    ElseIf strVikt > 10 and strVikt <= 15 Then
      strViktKR = "169"
    ElseIf strVikt > 15 and strVikt <= 20 Then
      strViktKR = "209"
    ElseIf strVikt > 20 and strVikt <= 30 Then
      strViktKR = "226"
    ElseIf strVikt > 30 and strVikt <= 40 Then
      strViktKR = "254"
    ElseIf strVikt > 40 and strVikt <= 60 Then
      strViktKR = "300"
    End If

Vad gör jag för fel?

Medlem sedan dec. 19996 721 inlägg
#2

Du jämför äpple och päron, eller mer specifikt: strängar och tal.

strVikt = Replace(totVikt,",",".")
dblVikt=cdbl(strVikt)
    If dblVikt <= 1 Then
      strViktKR = "86"
    ElseIf dblVikt > 1 and dblVikt <= 5 Then
      strViktKR = "108"
    ElseIf dblVikt > 5 and dblVikt <= 10 Then
      strViktKR = "140"
    ElseIf dblVikt > 10 and dblVikt <= 15 Then
      strViktKR = "169"
    ElseIf dblVikt > 15 and dblVikt <= 20 Then
      strViktKR = "209"
    ElseIf dblVikt > 20 and dblVikt <= 30 Then
      strViktKR = "226"
    ElseIf dblVikt > 30 and dblVikt <= 40 Then
      strViktKR = "254"
    ElseIf dblVikt > 40 and dblVikt <= 60 Then
      strViktKR = "300"
    End If
Medlem sedan dec. 20011 860 inlägg
#3

Detta verkar ej fungera:

<%
totVikt = "5,3"

strVikt = Replace(totVikt,",",".")
dblVikt=cdbl(strVikt)
    If dblVikt <= 1 Then
      strViktKR = "86"
    ElseIf dblVikt > 1 and dblVikt <= 5 Then
      strViktKR = "108"
    ElseIf dblVikt > 5 and dblVikt <= 10 Then
      strViktKR = "140"
    ElseIf dblVikt > 10 and dblVikt <= 15 Then
      strViktKR = "169"
    ElseIf dblVikt > 15 and dblVikt <= 20 Then
      strViktKR = "209"
    ElseIf dblVikt > 20 and dblVikt <= 30 Then
      strViktKR = "226"
    ElseIf dblVikt > 30 and dblVikt <= 40 Then
      strViktKR = "254"
    ElseIf dblVikt > 40 and dblVikt <= 60 Then
      strViktKR = "300"
    End If

Response.Write "Vikt: " & totVikt & "<br>"
Response.Write "Frakt: " & strViktKR
%>

Den skriver ut 300 kr

Medlem sedan juni 200032 967 inlägg
#4

Då är det väl kommatecken som gäller som decimaltecken i din installation.

Medlem sedan dec. 20011 860 inlägg
#5

Då skall jag testa med det!

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