[JS] Afronding van type Float

Pagina: 1
Acties:

  • KillR-B
  • Registratie: Mei 2002
  • Laatst online: 20-01 20:49
Ik ben nu bezig om aan de client kant berekeningen uit te voeren met Javascript en ben op het volgende probleem gestuit:

Als ik bijvoorbeeld een simpele alert(3.30 *3) uitvoer, krijg ik de waarde 9.899999999999998 in plaats van 9.9. Weet iemand hoe ik wel de waarde 9.9 kan krijgen?

Ik weet dat dit komt door een binaire afronding en de oplossing zal vast simpel zijn, maar ik kom er niet uit....

Verwijderd

er is nog een simpelere manier maar effe geen zin om me boek te pakken
(Math.round(3.30*3*10))/10=9.9

  • KillR-B
  • Registratie: Mei 2002
  • Laatst online: 20-01 20:49
Verwijderd schreef op 03 January 2003 @ 10:56:
er is nog een simpelere manier maar effe geen zin om me boek te pakken
(Math.round(3.30*3*10))/10=9.9
Thanx dit werkt idd.

Alleen bij kleinere afrondingen moet de factor waarmee je vermenigvuldigt en deelt verhoogt worden, dus als je x.xxx ipv x.x wilt hebben, moet je 1000 ipv 10 gebruiken:

JavaScript:
1
alert(Math.round(3.111 * 3 * 1000) / 1000) //Resultaat =  9.333