webForumDet fria alternativet

Ihopräkning av prisfält "felar".

ASP

9 svar · 367 visningar · startad av Jesper T

Medlem sedan nov. 20017 144 inlägg
Frågan#1
Do while rs.eof
'Gör saker
curtotalprice = curtotalprice + cDbl(rs("tot"))
'Gör mer saker
rs.movenext
loop

Om jag då har låt säga två rader med ex.
103
203

Så blir, formatcurrency(CLng(curtotalprice),2) : 30.600,00 kr
Och det borde enligt min logik bli
306,00kr

Medlem sedan nov. 20017 144 inlägg
#2

Nej, nu alltså. Jag får inte till det. Har vänt och vridit på det mesta här. :l

Medlem sedan apr. 20031 660 inlägg
#3

HEJ!

Kolla värdena redan i loopen, jag får 306,00 kr om jag använder formatcurrency(CLng(306),2).

Har du inte så stora tal borde CInt räcka också.
http://www.devguru.com/Technologies/vbscript/quickref/cint.html

Medlem sedan nov. 20017 144 inlägg
#4

Nix. Jag får Overflow: 'cInt'
Måste betyda att det är för stort, eller?

Medlem sedan apr. 20031 660 inlägg
#5

HEJ!

Ja, då är det för stort.
Fast, varför 103 är större än 32767 undrar jag också!

Vad ger looputskriften?
Testa utan CInt och cDbl också, om det går.

Medlem sedan nov. 20017 144 inlägg
#6

Det blir samma : 30.600,00
och
formatnumber(curtotalprice,2) ger : 30 600,00

Fattar inte något nu.

Medlem sedan juni 200032 967 inlägg
#7

Vad är curtotalprice för typ?

Medlem sedan nov. 20017 144 inlägg
#8

Det är decimal 10,2 ifrån databasen.
Detta verkar funka.

dectotalprice = dectotalprice + replace(rs("tot"),".",",")
Medlem sedan juni 200032 967 inlägg
#9

Det där borde inte funka. Eftersom du använder replace borde det bli en sträng, och då riskerar du att nuffrorna blir konkatenerade istället.

Men vad vet jag. :)

Medlem sedan nov. 20017 144 inlägg
#10

Ja, då vet jag inte hur jag skall göra. Men det funkar i alle fall. :)

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