Har föjande kod:
<%
nbr1 = request.form("txt_nbr1")
nbr2 = request.form("txt_nbr2")
sum = cdbl(nbr1)+cdbl(nbr2)
Response.Write sum
%>
Om nu txt_nbr1 är 2.5 och txt_nbr2 är 3 Får jag att sum blir 28.
Varför. Vad göra?
11 svar · 534 visningar · startad av dpalsson2000
Har föjande kod:
<%
nbr1 = request.form("txt_nbr1")
nbr2 = request.form("txt_nbr2")
sum = cdbl(nbr1)+cdbl(nbr2)
Response.Write sum
%>
Om nu txt_nbr1 är 2.5 och txt_nbr2 är 3 Får jag att sum blir 28.
Varför. Vad göra?
Jag gissar på att du använder fel decimaltecken.
Det beror ju lite på vilka regionala inställningar man har på servern.
Byt till kommatecken och se om det fungerar.
Mvh
Har en koll på inmatningssidan som kóntrollerar att värdet i fältet är ett tal (i javascript(isNaN(document.all.txt_nbr1.value)) ock skriver jag då 2,5 får jag svaret att det inte är ett tal däremot går 2.5 utmärkt att skicka
Prova Cint(request.form("txt_nbr"))
Ja, då vill javascriptet ha punkter och servern vill ha kommatecken. Du får väl byta punkt till kommatecken innan du börjar räkna med dem.
mvh
grillkillen: Cint() kommer inte fungera, eftersom det gör om värdet till heltal.
Såsant, såsant... ibland skriver man innan man tänker..
@nders
Om jag bytar ut punkten till ett komma tecken och sen adderar så får jag komplierings fel när jag kör sidan.
Om "tal1 = 2.5"
Verkar det som att när jag skriver CDbl(tal1) så tas punkten bort och tal1 blir 25
Menar du att detta ger resultatet 28:
<%
nbr1 = request.form("txt_nbr1")
nbr2 = request.form("txt_nbr2")
sum = cdbl(nbr1)+cdbl(nbr2)
Response.Write sum
%>
Och detta inte fungerar?
<%
nbr1 = Replace(request.form("txt_nbr1"), ".", ",")
nbr2 = Replace(request.form("txt_nbr2"), ".", ",")
sum = cdbl(nbr1)+cdbl(nbr2)
Response.Write sum
%>
:q
Mvh
Det verkar som problemet ligger i konverteringen från sträng till double
För skriver jag:
Tal1 = 2.5
Tal2 = 3
Summa = CDbl(Tal1) + CDbl(Tal2)
Så blir summan rätt dvs 5.5
Gräjt! :)