webForumDet fria alternativet

1 321,88 + 330,47 = 1 321,88330,47 = LOL! [LÖST]

ASP

5 svar · 233 visningar · startad av LeonL

Medlem sedan dec. 20025 871 inlägg
Frågan#1

Varför funkar det inte när jag adderar dessa tal?

1 321,88 + 330,47

Resultatet blir 1 321,88330,47.

Varför blir det så???? :P

Min kod:

<%
intTotalTjanat = 1 321,88
intTotalMoms = 330,47
Response.Write(intTotalTjanat + intTotalMoms)
%>

*suck* Tror att det är något miffat med decimalerna...

Medlem sedan sep. 20011 722 inlägg
#2

Du får köra med punk (.) Istället för decimal (,).
Sen kan du inte ha mellanrumm emellan siffrorna.

Medlem sedan juni 200032 967 inlägg
#3

Först och främst ska du vara säker på att det är decimalkomma som gäller på din maskin. Du ska inte ha tusentalsavgränsare (mellanslag) heller.

<%
intTotalTjanat = 1321,88
intTotalMoms = 330,47
Response.Write(intTotalTjanat + intTotalMoms)
%>

Dessutom är det "felaktigt" att kalla variabler för intXxxx, om de inte är heltal. Men det är ju en petitess. ;)

Att talen läggs ihop såsom du visar är inte konstigt, om asp-tolken anser att det är strängar. Ser din kod ut precis så där?

Medlem sedan dec. 20025 871 inlägg
#4

Snabba svar :)

Det där mellanrummet blev bara så när jag kopierade direkt från den exekverade sidan. Det var därför mellanrummet kom med :P

Men det där med "punk" :P kan jag erkänna att det hade jag fel på :)

Medlem sedan juni 200032 967 inlägg
#5

LeonL skrev:

Det där mellanrummet blev bara så när jag kopierade direkt från den exekverade sidan. Det var därför mellanrummet kom med :P

Koden såg alltså inte ut så där? Man ska visa den koden man använder. ;)

Medlem sedan juni 200032 967 inlägg
#6

LeonL skrev:

Men det där med "punk" :P kan jag erkänna att det hade jag fel på :)

Och angående decimalpunkt så är det faktiskt så pass illa att serverns (eller den maskin man kör sidan på) regionala inställningar påverkar om man ska använda punkt eller komma som decimaltecken. Använder man "fel" decimaltecken brukar man få ett "Type mismatch"-fel.

Det kan alltså hända att det är helt fel att använda punkt, jag har själv ett par sådana servrar. Det ger ett riktigt helvete när man utvecklar en applikation som ska köras på 5-10 servrar samtidigt. :x

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