Ik ben met PHP een soort systeempje aan het maken waardoor ik mijn gewerkte uren + ontvangen geld kan bijhouden.
Ik loop alleen op een foutje wat betreft het afronden, dit is mijn code:
Weet je eigenlijk wel waar je mee bezig bent? Heb je php.net al eens bekeken?
Je zou zien dat floor gewoon sowieso 199 ging returnen..
Lees/leer eerst eens verder en probeer het dan nog een keer, want nu zit je gewoon lukraak functies uit te voeren waar je helemaal niet van snapt waar ze voor dienen, en dat zal je geen stap verder helpen.
Als ik het laat uitrekenen door PHP krijg ik om precies te zijn: 199,99499999999994770405464805662631988525390625. En volgens mij moet dat correct afgerond worden op 199,99 (aangezien het derde getal achter de komma een 4 is).
Dat komt omdat je volgens de wiskunde dat je van achter moet beginnen dus bij die 9 achter de 4 die je 4 een 5 en de 5 rond hij naar boven af. dan moet je iets maken dat hij alleen de eerste 3 cijfers achter de komma meerekend.
Bij mijn weten kijk je bij afronden naar het eerst volgende cijfer na het punt tot waar je wilt afronden. Dus in het geval van het getal van Elwin zou je bij afronden op 2 decimalen inderdaad 199.99 verwachten en geen 200.00.
Het lijkt mij eerder een bugje in de round() functie van PHP te zijn. Zie het verschil:
@Jo: wat jij zegt is volgens mij onzin. Dat zou betekenten dat je oneindige getallen (zoals pi bijvoorbeeld) nooit kunt afronden omdat je het laatste getal niet weet.