Heeft MySQL een bug in de round zitten of moet ik hier uit opmaken dat mijn server verkeerd ingesteld staat ? :
code:
1
2
3
4
| Note that the behaviour of ROUND() when the argument is half way between two integers
depends on the C library implementation. Some round to the nearest even number,
always up, always down, or always toward zero. If you need one kind of rounding,
you should use a well-defined function like TRUNCATE() or FLOOR() instead. |
Ik heb namelijk deze query, waarvan ik het stukje waar het fout gaat laat zien:
code:
1
| ROUND(min(de.dealerprice)*pr.procent+sum(cst.cost),2) AS was_excl_btw |
Vervolgens komt hier volgens MySQL 122.27 uit, maar ga je dit narekenen dan moet hier 122.28 uitkomen : 95.50 x 1.05 + 22 = 122.275 (afronden op 2 decimalen, dus 122.28)
Als ik vervolgens kijk wat er gebeurd als ik 3 decimalen wil zien. Dan geeft MySQL 122.275 terug.
Waarom rond ie niet af naar boven? (Doe ik er 0.001 erbij optellen dan rond ie wel naar boven af, maar dit is niet de oplossing gezien de BTW en incl BTW)
Hopelijk kunnen jullie me helpen!
Tnxs