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

267 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)