PDA

Bekijk Volledige Versie : Gewoon optellen en aftrekken van bedragen. Waarom is dat bijphp-scripting zo moeilijk?



Meldpunt Zangvogeloverlast
19/02/10, 23:15
Waarom is number_format("104,14",2,",",".") plotseling 104,00 geworden?

Waarom is 104,14 + 1,72 = 15,72?

Oftewel: hoe kan ik php5 fatsoenlijk laten optellen met kloppende cijfers,
keurig afgerond met 2 cijfers achter de komma en een . bij een duizendtal?


--
Groeten, Eduard

Meldpunt Zangvogeloverlast
19/02/10, 23:15
Op vrijdag 19 februari 23:03, in artikel
C7A4C937.AA65%meldpunt.zangvogeloverlast@xs4all.nl , Meldpunt
Zangvogeloverlast <meldpunt.zangvogeloverlast@xs4all.nl> schreef:

> Waarom is number_format("104,14",2,",",".") plotseling 104,00 geworden?
>
> Waarom is 104,14 + 1,72 = 15,72?
>
> Oftewel: hoe kan ik php5 fatsoenlijk laten optellen met kloppende cijfers,
> keurig afgerond met 2 cijfers achter de komma en een . bij een duizendtal?

Mwah. Ik moet bij een afvangen 104,14 van de , een . maken. Dan werkt het
wel.

--
Groeten, Eduard

FD
20/02/10, 14:35
"Meldpunt Zangvogeloverlast" <meldpunt.zangvogeloverlast@xs4all.nl> schreef
in bericht news:C7A4C937.AA65%meldpunt.zangvogeloverlast@xs4a ll.nl...
> Waarom is number_format("104,14",2,",",".") plotseling 104,00 geworden?
>
> Waarom is 104,14 + 1,72 = 15,72?
>
> Oftewel: hoe kan ik php5 fatsoenlijk laten optellen met kloppende cijfers,
> keurig afgerond met 2 cijfers achter de komma en een . bij een duizendtal?
>
>
> --
> Groeten, Eduard
>

Het is niet verstandig om op deze manier te rekenen met bedragen.
Je kan beter alle bedragen omzetten in centen (x100) en er zo mee rekenen en
zelfs opslaan.
Alleen bij tonen en afdrukken deel je even door 100 om het leesbaar te
maken.

Hierdoor rekenen je altijd met integers (wat het snelste is) en voorkom je
conversies tussen integers en floats (wat tot rekenfouten kan leiden).
PHP doet automatische conversies van variabelen, wat ongewenste
bijverschijnselen (bugs) kan veroorzaken.

Frank