Afrond probleem

  • Beste,


    Voor een website van mij moet ik de te krijgen valuta uitrekenen, vanaf de prijs die ingevoerd word. Dit houd in dat er 0,70 keer de te betalen prijs gerekend moet worden.
    Ik gebruik daarvoor dit script:


    Als ik bijvoorbeeld 1,15 invoer, dan komt er 0,80 op het script uit. Dit klopt niet want als ik het met de rekenmachine nareken (1.15*0.70) dan kom ik op 0.805 wat dus inhoud dat het 0.81 zou moeten worden..
    Ik heb ook toPrecision al geprobeerd en gekloot met math.Round(), zelfde resultaat.


    Hoe los ik dit op?
    Voor een betalingssysteem is het namelijk niet handig.


    Als iemand een andere vergelijkbare functie heeft is het ook goed, enige eisen zijn dat hij ook een eventuele ingevoerde komma kan verwerken.


    Alvast bedankt!

  • Ik heb het toch zelf kunnen oplossen.
    Ik gebruik nu deze functie i.p.v. toFixed();

    PHP
    function formatAsMoney(mnt) {
    	mnt -= 0;
    	mnt = (Math.round(mnt*100))/100;
    	return (mnt == Math.floor(mnt)) ? mnt + '.00' 
    			  : ( (mnt*10 == Math.floor(mnt*10)) ? 
    					   mnt + '0' : mnt);
    }


    Die heb ik ergens op het internet gevonden en hij werkt perfect ;).

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!