webForumDet fria alternativet
Logga in / Bli medlem

7+11=711 ??

ASP

11 svar · 270 visningar · startad av qwerty

Medlem sedan jan. 2001391 inlägg
Trådstart#1

Varför funkar det inte att göra så här

<%summa=positiva + negativa%>

<%=summa%>

Medlem sedan dec. 19996 721 inlägg
#2

Det du gör är att du konkatenerar två strängar med detta. För att försäkra dig om att du adderar två helta i stället bör du....

<%summa=cInt(positiva) + cInt(negativa)%>

Medlem sedan jan. 2000224 inlägg
#3

Exakt

 kalle + anka = Kalleanka

Man måste deklarera sina variabler seru.. Iaf om man vill vara säker.

Medlem sedan juli 20003 825 inlägg
#4

Det finns en annan skillnad också. Kolla detta:

Exempel 1.

tal1 = 7
tal2 = 11

tal1 + tal2 = 18

Exempel 2.

tal1 = "7"
tal2 = "11"

tal1 + tal2 = 711

---

I det övre exemplet hanteras dina variabler som nummer medans i det andra blir det som strängar, dvs. text.

ASP i största allmänhet och ovanstående i synnerhet är inte exempel på särskilt god programmeringsteknik. Programmerare med klass brukar hoppa i taket då de ser så dåliga exempel.

Det må vara risiga lösningar men det fungerar och det är oftast det man vill.

Medlem sedan juli 20003 825 inlägg
#5

IsNumeric(talet)

Du vill ju inte att man skriver bokstäver i ett fält för tal!

tal1 = request("tal1")
tal2 = request("tal2")

IF IsNumeric(tal1) = FALSE THEN tal1 = 0
IF IsNumeric(tal2) = FALSE THEN tal2 = 0

tal1 + tal2 = summa

response.write summa

---

IsDate

myBirthday = request("myBirthday")

IF IsDate(myBirthday) = FALSE THEN myBirthday = "0000-00-00"

Du vill ju inte att man ska kunna skriva bokstäver i ett fält för datum!

Medlem sedan jan. 2001391 inlägg
#6

Det jag gör är att jag hämtar två värden från två textfiler. Jag vill sedan lägga ihop dem för att kunna räkna om det till procent. (Ska redovisa resultatet av en omröstning)
Det måste ha blivit som eclipse skriver att talen har hanterats som strängar.

Har föresten någon nåt tips om hur man skulle kunna göra staplar för att enklare se resultatet?

Medlem sedan dec. 20003 563 inlägg
#7

När du gjort som emission sa, vilket stämmer alldeles utmärkt, så bestämmer du matematiskt procenten. Därefter kan du med lite matte sätta in värderna i en bild som jag brukar ha som 1x1 px men man ändrar bara width/height på liknande sätt.

<%pos = CInt(positiva talet från txt.filen)
neg = CInt(negativa talet från txt.filen)
summan = pos + neg
pos_procent = ROUND((pos / summan) * 100, 0)
neg_procent = 100 - pos_procent
pos_lenght = (max * pos_procent) / 100
neg_lenght = (max * neg_procent) / 100
' max är detsamma som den maximala längd
' som stapeln får vid 100%
%>

<img src=green.gif width=4 height=<%=pos_lenght%>>
<img src=red.gif width=4 height=<%=neg_lenght%>>

Hoppas det funkar som du vill.

Medlem sedan aug. 200026 inlägg
#8

jag brukar alltid använda commandot "cdbl" som kör count..

string = cdbl(6+7)

string är 13, om mina matte färdigheter inte sviker mig..

Medlem sedan dec. 20003 563 inlägg
#9

räcker det inte bara med string = 6+7 annars? ;)

Medlem sedan aug. 200026 inlägg
#10

jo, men jag tänkte på olika strings..

string = cdbl(string1 + string2)

Medlem sedan juni 200032 967 inlägg
#11

nej.

det fungerar inte så.

cdbl("7"+"6") levererar visserligen ett tal, men det talet är 76.

Medlem sedan dec. 20003 563 inlägg
#12

Precis. Hade också för mig det.

371 ms totalt · 4 externa anrop · v20260731065814-full.c32e866c
118 ms — deklarationer (db)
120 ms — hämta statistik (db)
131 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)