InferisMedlem sedan sep. 2000670 inlägg Hur gör man för att kunna använda tex
1,5 + 3 + 4?
Heltal går bra, men har man komma med så skiter det sig!
summa=CInt(rs("Value1"))+CInt(rs("Value2"))+CInt(rs("Value3"))
------------------
Skriv ut den med response.write så ser du vad som är fel.
@ndersMedlem sedan juni 200032 969 inlägg integer är heltal. om du ska ha decimaler får du använda någon annan subtyp, till exempel double eller single.
prova därför cdbl() istället.
det ska vara bra att veta också att det spelar roll om du har komma eller decimalpunkt. det beror på vad du har för regional settings på servern om du ska ha komma eller punkt.
mvh,
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
InferisMedlem sedan sep. 2000670 inlägg Tack för ett ruggigt snabbt svar!
:-)
Ska genast prova!
*redigerat*
Funkade ju perfekt!
Tack igen!!
[Redigerat av Inferis den 19 jul 2001]
InferisMedlem sedan sep. 2000670 inlägg Om man nu ska göra det hela lite krångligare...
Idag så kan man fylla i talen, men jag skulle vilja att man kunde välja tex
A, Ac, A1,C, D, D1 etc.
Det hela ska ju då passas in på följande kod om det går.
<td>
<%=rs("Value1")%><%=rs("Value2")%><%=rs("Value3")%></td>
<td>
<%
summa=cdbl(rs("Value1"))+cdbl(rs("Value2"))+cdbl(rs("Value3))
%>
<%=summa%>
</td><td><%=FormatNumber(summa/222)*100%></td>
Det ska ju även presenteras som bokstäver, men procent och summa ska vara tal.
------------------
Skriv ut den med response.write så ser du vad som är fel.
[Redigerat av Inferis den 19 jul 2001]
LarsGMedlem sedan dec. 200012 464 inlägg Tja, i så fall måste du in och titta på värdet om det innehåller någon siffra
s = rs("value1")
for i = 1 to len(s)
if isNumeric(mid(s,i,1)) then
summa = summa + cdbl(mid(s,i))
exit for
end if
next
'
s = rs("value2")
' på samma sätt
------------------
essentitia preter non sans multiplicandum
InferisMedlem sedan sep. 2000670 inlägg Ska man fortsätta plussa på efterhand?
Typ
if isNumeric(mid(s,i,2)) then
Hur fattar scriptet att en A=8 och att A1=5,5 tex?
------------------
Skriv ut den med response.write så ser du vad som är fel.
LarsGMedlem sedan dec. 200012 464 inlägg Jag tänkte mig att om du fick upp värdet "A12" från databasen så skulle man plocka ut värdet 12 och plussa på det. Och nu menar du att jag har missförstått allt eller?
Om du vill att värdet "A" tolkas som 8 och så vidare, så får du lägga in en mappningsfunktion.
function map(str)
if str = "A" then
map = 8
elseif str = "A1"
map = 5.5
...
else
map = cdbl(str)
end if
end function
...
summa = summa + map(rs("value1")
Det går ju bra om det är få värden.
------------------
essentitia preter non sans multiplicandum
InferisMedlem sedan sep. 2000670 inlägg Jag får bara syntax error?
Den klagar på
function map(str)
<td>
<%
function map(str)
if str = "A" then
map = 8
elseif str = "A1"
map = 5.5
else
map = cdbl(str)
end if
end function
dim summa
summa= map(rs("Value1"))+map(rs("Value2"))+map(rs("Value3"))
%>
<%=summa%>
</td><td><%=FormatNumber(summa/222)*100%></td>
Det ska vara så förresten, att A=8, A1=5,5 och Ae=3,5
Finns några till. Det är jobbturer, så jag vill ju se antalet timmar och vad det blir i procent.
------------------
Skriv ut den med response.write så ser du vad som är fel.
LarsGMedlem sedan dec. 200012 464 inlägg Glömde ett then där i all brådska.
function map(str)
if str = "A" then
map = 8
elseif str = "A1" [b]then [/b]
map = 5.5
else
map = cdbl(str)
end if
end function
------------------
essentitia preter non sans multiplicandum
InferisMedlem sedan sep. 2000670 inlägg Får tyvärr fortfarande ett syntax error.
Ska det förresten vara
summa = summa + map(rs("value1")) + map(rs("value2")) osv
istället för
summa = map(rs("value1")) + map osv
------------------
Skriv ut den med response.write så ser du vad som är fel.
[Redigerat av Inferis den 19 jul 2001]
LarsGMedlem sedan dec. 200012 464 inlägg Testade funktionen här hos mig och det gick bra.
Det stämmer att det skall stå
summa = summa + map(rs("value1")
Du får väl visa vad du har och vilken rad du får fel på.
------------------
essentitia preter non sans multiplicandum
InferisMedlem sedan sep. 2000670 inlägg Jag har kapat lite kod som bara är onödig, men den klagar på line 281 som är markerad med blå fet stil.
<td>
<%
dim summa
[b]function map(str)[/b]
if str = "A" then
map = 8
elseif str = "A1" then
map = 5.5
else
map = cdbl(str)
end if
end function
summa = summa + map(rs("Value1"))+map(rs("Value2"))+map(rs("Value3"))
%>
<%=summa%>
</td><td><%=FormatNumber(summa/222)*100%></td>
------------------
Skriv ut den med response.write så ser du vad som är fel.
LarsGMedlem sedan dec. 200012 464 inlägg kan det vara så att funktionen ligger inuti en loop eller så
dvs
do until rs.eof
...
function map(str)
...
end function
...
loop
I så fall så får du flytta ut funktionskoden så att den ligger utanför loopar och dylikt.
------------------
essentitia preter non sans multiplicandum
InferisMedlem sedan sep. 2000670 inlägg Tröga jag!
Visst låg den i en loop.
Kunde dock inte använda
summa = summa + map(rs("
utan fick använda
summa = map(rs("
Annars räknade den fel.
Tack ska du ha!!
------------------
Skriv ut den med response.write så ser du vad som är fel.