ik moet Adoptive Solution gelijk geven want dit is iets dat je echt in 2 sec kan vinden op internet
echter is dit toevalig iets wat ik heel veel heb moeten doen dus zal ik je helpen
het kan eigelijk op meerdere manieren
wat Adoptive Solution bedoeld is simpelweg de functie round()
voorbeeld
round(0,050000011, 2);
maakt dus 0,05
andere manier is number_format()
echter raad ik deze voor simpelweg afronden af
number_format(0,050000011, 2);
wordt dus ook 0,05
verder info kan je hierover vinden op php.net
Met number_format() formatteer je een nummer, en dan krijg je dus een string (stuk tekst) terug. En dus evt. extra nullen op het eind. Maar let op, met de default parameters komt er ook een komma tussen de duizendtallen:
print(number_format('5000.10',2)); //'5,000.10'
En met die komma gaat PHP het niet meer als een getal zien ...
round() gebruik je om getallen af te ronden waarna je er mee verder kunt rekenen of dit afgeronde getal kunt bewaren (bijvoorbeeld in de database).
number_format() gebruik je enkel voordat je het getal "in een bepaald formaat" wilt tonen. Dit gebruik je dus typisch bij de output (In de HTML, een email of een PDF). je kunt er hierna niet meer mee rekenen.
even iets anders tussendoor hoor wisten jullie dat belasting-technisch afronden op 2 decimalen, eigenlijk helemaal niet goed is
de overheid en dan voornamelijk de belastingdienst wil eigenlijk dat als je gaat rekenen het afrond op 3 decimalen, en als de gehele som klaar is pas naar 2
dit heeft te maken met cent verschillen
kleine uitleg hieronder
afronden gaat zo 1 tot 4 is afronden naar beneden
5 tot 9 is afronden naar boven
dus even een voorbeeld
4,55511 + 4,55511 = 9,11022 afgerond 9,11
echter als je deze dus eerst zou afronden dan wordt het
4,56 + 4,56 = 9,12
Nee, er zijn twee afrondingsmethoden voor verkoopprijzen en factuurbedragen. Daarvan moet je er één consistent aanhouden (in accountancy de bestendige gedragslijn genoemd):
Bij het afronden mag u kiezen uit 2 methodes:
• U rondt af per geleverd goed of verrichte prestatie.
• U rondt het totaalbedrag af.
De derde afrondingsmethode is eenvoudiger maar pas je later toe: je mag bedragen in belastingaangiften in je voordeel afronden op hele euro's, dus lasten naar boven en baten naar beneden.
jup dat klopt maar ik maak bv online boekhoud software
en dan gelden er iets andere regels
zolang ik de bedragen niet laat zien aan de klant moet ik ze berekenen met 3 decimalen
op het moment dat er een bedrag in beeld komt en dus afgerond dan is dit met 2 decimalen
en dus vast
ik kan dit niet meer terug draaien want dan komen er fouten :)
die euro afronding heeft de belastingdienst toen ingevoerd omdat veel mensen dus niet goed boekouding doen en er dus altijd cent verschillen zijn
in goede boekhoud software heb je dit dus niet
met cent verschillen kan het belasting verschil soms wel duizenden euros zijn
daarom moet in officiele software het berekent worden met 3
[size=xsmall]Toevoeging op 10/09/2019 14:32:00:[/size]
daarin staat precies wat ik dus ook zeg
//////////////////
U gebruikt voor de afronding van het btw-bedrag de rekenkundige methode. Als het bedrag van de verschuldigde btw op de factuur bestaat uit meer dan 2 cijfers achter de komma, dan rondt u het 3e cijfer achter de komma af op hele centen. Dit doet u als volgt:
Is het 3e cijfer achter de komma lager dan 5, dan rondt u het bedrag naar beneden af.
Is het 3e cijfer achter de komma 5 of hoger, dan rondt u het bedrag naar boven af.
het factuur is iets dat een klant of persoon voor zich krijgt en dus kan je deze afronden
echter wordt de gehele berekening die je dus niet ziet, gedaan met deze reken methode :P
[size=xsmall]Toevoeging op 10/09/2019 14:39:09:[/size]
elke andere manier van berekenen geeft op lange termijn problemen
ongeacht of het mag of niet
het zijn in princiepe maar centen, maar als je bv als bedrijf inkomstenbelasting moet betalen
of btw dan kunnen die centen heel gouw oplopen
in miljoenen bedrijven zit hierin heel veel geld
zo is onderandere het idee van bv bitcoins ook deels ontstaan
ik heb een keer voor een bedrijf de gehele boekhouding opnieuw gedaan om dat ze steeds kleine verschillen hadden
aan het eind had ik een belasting terug gave van meer dan 7,000 alleen vanwege die stomme centen
Je kunt het probleem overigens ook oplossen door niet (alleen) de uitkomst op te slaan, maar tevens de oorspronkelijke aantallen en prijzen per stuk. Zo behoud je namelijk maximale nauwkeurigheid zonder afronding en kun je achteraf reconstrueren hoe een uitkomst tot stand is gekomen.