Math.round(3.2000002, 2) = 3 (geen decimals)

Status
Niet open voor verdere reacties.

xeross

Gebruiker
Lid geworden
13 apr 2007
Berichten
91
Hey,

ik ben bezig met een script en er is een float die ik af moet ronden op 2 decimalen of kleiner.
Maar als ik Math.round(var, 2) doe komt er altijd een nummer met 0 decimalen uit zelfs als het nummer 2.3543543535746574657465745 is.

Hoe komt dit en hoe kan ik dit oplossen ?

MVG, Xeross
 
Laatst bewerkt:
Waarschijnlijk omdat je een komma gebruikt in plaats van een punt.

Probeer dit eens:
PHP:
math.round(3.2000002, 2)
 
nee dat was alleen in het voorbeeld.
In het script word alles door js zelf berekent dus staat er wel eeen punt
 
Math.round werkt niet op die manier. Het rond altijd af op hele getallen. Als je een getal wilt afronden op 2 decimalen moet je het zo doen:
Code:
Math.round(var*100)/100;
 
ok, raar dat dan overal de syntax staat als Math.round(float, [decimals])
 
toFixed en toPrecision geven 3 weer als 3.00 als je bij fixed 2 opgeeft en bij precision 3.
Denk dat ik de *100/100 probeer
 
Tja, in wetenschappelijke notatie is er een belangrijk verschil tussen 3 en 3.00, vandaar dat de functies zo werken :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan