webForumDet fria alternativet

Round avrundar fel

3 svar · 238 visningar · startad av Erik Juhlin

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#1

I ett fält har jag priset 67.634500000000003. När jag sen skriver ROUND(ProductPrice, 2) så avrundar den till 67.629999999999995.

Vad beror detta på och hur löser jag det?

Skriver jag bara SELECT ROUND(67.634500000000003, 2) så blir det rätt (67.630000000000000).

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#2

Fältet är ett float fält by the way...

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#3

Skriver jag:

SELECT ROUND(CONVERT(float, 67.634500000000003), 2)

Så funkar det inte heller. Tydligen så tycker inte ROUND och float om varandra... :(

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Använd decimal i databasen i stället.

132 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)