Hoi allemaal,

nog even een vraagje:
Ik heb een simpele functie:
function sum() {
document.form.sum.value =
parseFloat(document.form.p1.value) * 40.7 +
parseFloat(document.form.p2.value) * 37.8 +
parseFloat(document.form.p3.value) * 27.0 +
...; enz
}

Het probleem is dat met deze functie de sum soms ineens tot 8 decimalen wordt weergegeven, terwijl alleen maar met hele getallen en 1 decimaal getallen wordt gerekend/ingevoerd.. Hoe kan dit???
Het lijkt totaal 'random' voor te komen.. weet iemand of ik een functie erbij kan maken die afrond tot op 2 decimalen?

Alvast bedankt!

SCO01
Ik dacht dat ik op W3Schools een voorbeeld zag staan,
maar ik kan hem nu niet zo snel vinden.
Math.round(4.60); //geeft 5

Dus dan wordt het iets in de zin van:

function sum() {
document.form.sum.value = Math.round(
parseFloat(document.form.p1.value) * 40.7 +
parseFloat(document.form.p2.value) * 37.8 +
parseFloat(document.form.p3.value) * 27.0 +
...); enz
}
SCO schreef op 28.11.2005 03:26
Hoi allemaal,

nog even een vraagje:
Ik heb een simpele functie:
function sum() {
document.form.sum.value =
parseFloat(document.form.p1.value) * 40.7 +
parseFloat(document.form.p2.value) * 37.8 +
parseFloat(document.form.p3.value) * 27.0 +
...; enz
}

Het probleem is dat met deze functie de sum soms ineens tot 8 decimalen wordt weergegeven, terwijl alleen maar met hele getallen en 1 decimaal getallen wordt gerekend/ingevoerd.. Hoe kan dit???
Het lijkt totaal 'random' voor te komen.. weet iemand of ik een functie erbij kan maken die afrond tot op 2 decimalen?

Alvast bedankt!

SCO01


Pak je rekenmachine er maar eens bij, als je met 1 decimaal achter de komma gaat vermenigvuldigen, ligt het aan de getallen die je invult hoeveel decimalen er achter de komma krijgt. Is niet random, hij rekent het goed uit.. Je zal inderdaad gebruik kunnen maken van de round functie.
Afronden in JavaScript op decimalen:

totaal = document.form.sum.value.toFixed (2);
Super! Bedankt! Het werkt :P

SCO

Reageren