webForumDet fria alternativet

37.6 + 0 = 38??

ASP

4 svar · 318 visningar · startad av Bosse168

Medlem sedan nov. 20031 018 inlägg
Frågan#1

Har två kolumner i min MySQL databas som är av typen decimal(10,2) problemet är när jag försöker plusa ihop dom två så avrundar den resultatet till 38.

inlogg=cInt(Rs("inlogg"))
gb=cInt(Rs("gb"))

Response.Write(inlogg &" + "& gb &" ="& inlogg+gb)

Variabel värden:
inlogg = 0
gb = 37,6

Använder jag inte cInt så får jag detta fel meddelande:
Körningsfel i Microsoft VBScript fel '800a000d'

Inkompatibla typer

Medlem sedan juni 200032 967 inlägg
#2

Du konverterar ju till heltal, så att 38+0 är 38 borde väl inte komma som en överraskning?

Medlem sedan nov. 20031 018 inlägg
#3

Hur gör jag för att inte konvertera dom till heltal?

Medlem sedan mars 20032 667 inlägg
#4

Borde vara:

inlogg=CDbl(Rs("inlogg"))
gb=CDbl(Rs("gb"))

Medlem sedan nov. 20031 018 inlägg
#5

Tackar så mycket, har inte lekt med decimaler innan ;)

260 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)