Ik ben een shopping cart aan het maken, maar loop tegen een vreemd probleem aan.
In de shoppingcart class heb ik een functie GetCartTotal(). Deze geeft het totaalbedrag weer. De functie ziet er als volgt uit:
Laten we er vanuit gaan dat GetItemTotal de waarde 255.5 teruggeeft. Dit is een floatwaarde. Dat heb ik getest.
Als ik regel 3 uitcomment is de output van de functie 304.045. Zet ik echter 3 weer aan, dan wordt de output 304.04
Maar als ik gewoon intik: echo round(304.045, 2); dan krijg ik 304.05 (wat klopt).
Iemand enig idee waarom er bij het ene .04 uitkomt en bij het andere .05?
Hieronder nog een screenshot van de cart. Bovenin heb ik een var_dump van de waarde gedaan die ik onderin met de functie GetCartTotal afrond. Zoals je ziet staat er 304,04, wat 304,05 zou moeten zijn.
In de shoppingcart class heb ik een functie GetCartTotal(). Deze geeft het totaalbedrag weer. De functie ziet er als volgt uit:
PHP:
1
2
3
4
5
| function GetCartTotal() { $carttotal = ($this->GetItemTotal() * 1.19); $carttotal = round($carttotal, 2); return $carttotal; } |
Laten we er vanuit gaan dat GetItemTotal de waarde 255.5 teruggeeft. Dit is een floatwaarde. Dat heb ik getest.
Als ik regel 3 uitcomment is de output van de functie 304.045. Zet ik echter 3 weer aan, dan wordt de output 304.04
Maar als ik gewoon intik: echo round(304.045, 2); dan krijg ik 304.05 (wat klopt).
Iemand enig idee waarom er bij het ene .04 uitkomt en bij het andere .05?
Hieronder nog een screenshot van de cart. Bovenin heb ik een var_dump van de waarde gedaan die ik onderin met de functie GetCartTotal afrond. Zoals je ziet staat er 304,04, wat 304,05 zou moeten zijn.
