i-orMedlem sedan nov. 2001294 inlägg Det var längesedan jag programmerade, jag är riktigt ringrostig. :(
<%
v1 = 0.05
v2 = 0.1
v3 = 0.85
S = 1
For i=1 to 3
M = "v" & i
S = S * M
Next
%>
Jag får inte denna enkla kod att fungera. Jag antar att M blir en sträng istället för att vara en variabel.
Körningsfel i Microsoft VBScript fel '800a000d'
Inkompatibla typer: 'M'
Tack på förhand
LarsGMedlem sedan dec. 200012 464 inlägg Jovisst blir det en sträng. Vad vill du göra?
i-orMedlem sedan nov. 2001294 inlägg Jag vill att M ska ersättas med variablerna (v1, v2 och v3).
Alltså ska S = S * 0.05 beräknas när i = 1.
cyprysMedlem sedan dec. 20003 563 inlägg <%
v1 = 0.05
v2 = 0.1
v3 = 0.85
Dim i, S, M
Dim arr(v1, v2, v3)
for i = lbound(arr) to ubound(arr)
S = S * arr(i)
next
%>
i-orMedlem sedan nov. 2001294 inlägg Kompileringsfel i Microsoft VBScript fel '800a0402'
Heltalskonstant förväntas.
Dim arr(v1, v2, v3)
--------^
LarsGMedlem sedan dec. 200012 464 inlägg Vilket initialt värde vill du ha på S?
dim s,v(2),i
s = 4711
v = array(0.05,0.1,0.85)
for i = 0 to 2
s = s * v(i)
next
I och för sig så är det onödigt med en loop
s = 4711*0.05*0.1*0.85
i-orMedlem sedan nov. 2001294 inlägg Körningsfel i Microsoft VBScript fel '800a000d'
Inkompatibla typer
v = array(0.05,0.1,0.85)
Går det att ha decimaltal i arrayen?
Initialt värde?
Jag behöver en loop, för detta var bara ett enklare exempel av problemet.
LarsGMedlem sedan dec. 200012 464 inlägg dim s,v,i 'inget (2)
Jag tänkte bara att om S inte har tilldelats något värde innan loopen så blir resultatet 0.
i-orMedlem sedan nov. 2001294 inlägg Ok, jag hade S=1 i första exemplet men det föll bort. :)
Tack så mycket för hjälpen!