webForumDet fria alternativet

Problem med matematik

4 svar · 278 visningar · startad av Hulth

HulthMedlem sedan juni 2001272 inlägg
#1

Först av allt:

Fältet i databasen är av typen text, och den måste vara det. Har alltså ingen möjlighet att ändra fälttyp även om det skulle lösa mitt problem.

Jag försöker subtrahera 2 tal, några exempel:
(talen använder . som decimaltecken, detta måste vara så)

22.200 - 22.300 = -100
22.200 - 22.100 = 100

Har provat CLng, att ersätta . med , osv men det funkar fortfarande inte.

Det jag vill är att talet ska bli -0.1 (eller -0,1 då formatet inte spelar nån roll på resultatet) som det första exemplet eller 0.1 på det andra.

Nån som har en aning?

nitro2k01Medlem sedan aug. 20039 342 inlägg
#2

Punkt är det du ska använda som decimalkomma. Detta borde funka:

v1 = "22.200"
v2 = "22.300"
svar = val(v1) - val(v2)

Då bör svar bli -.1

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#3

Prova CDbl...

HulthMedlem sedan juni 2001272 inlägg
#4
Checksum = val(v1) - val(v2)

ger mig:

Inkompatibla typer: 'val'

Checksum = CDbl(v1) - CDbl(v2)

Ingen skillnad mot

Checksum = v1 - v2

Tycker det borde finnas nån form av typkonvertering.

HulthMedlem sedan juni 2001272 inlägg
#5

Löste det.

v1_2 = Replace(v1,".",",")
v2_2 = Replace(v2,".",",")
Checksum = Round(CDbl(v1_2) - CDbl(v2_2), 1)
139 ms totalt · 3 externa anrop · v20260731065814-full.cf67ef55
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)