Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[JS] Vermenigvuldigen met decimalen

None
5 antwoorden
  • Ik ben bezig met een toepassing met php en javascript. Ik probeer nu javascript twee cijfers met elkaar te laten vermenigvuldigen, en daarvan de uitkomst in een andere textfield te laten zetten. Dit lukt goed, met het onderstaande script wat ik dr voor heb gemaakt:

    [code:1:ccc1818a90]
    <html>
    <head>
    <title></title>
    <script>
    function dothis() {
    var fielda = parseInt(document.form2.field1.value);
    var fieldb = parseInt(document.form2.field2.value);
    document.form2.grandTotal.value = (fielda+fieldb);
    }
    </script>
    </head>
    <body onload="dothis()">
    <form name="form2">
    <input type="text" name="field1" /> <input type="text" name="field2" /> <input type="text" name="grandTotal" /> <input type="button" value="update" onclick="dothis()" />
    </form>
    </body>
    </html>
    [/code:1:ccc1818a90]

    Zoals je ziet, een erg simpele javascript functie. Het probleem is alleen, dat het script getallen na een comma of punt domweg negeert. Je kan dus geen decimalen in de getallen opnemen. Voorbeeld:

    Als je 10,5 x 2 laat berekenen, krijg je als resultaat 20, terwijl het 21 zou moeten zijn.

    Dit probleem komt mij nog niet bekend voor, wat doe ik fout? Komt het door het gebruik van de parseInt() functie?

    Bedankt!
  • een int mag geen decimale getallen hebben. probeer parseDouble eens, waarschijnlijk kan het dan wel..

    Peter
  • of parseFloat
  • [quote:b4257f5fa7="Stijn."]of parseFloat[/quote:b4257f5fa7]
    parseFloat, thats him :) Bedankt, domdomdom idd, integers staan immers voor ronde getallen…

    Dan nog een vraag: is het getal vervolgens ook af te ronden op maximaal 2 decimalen? Hoe doe ik dit?
  • Math.round(getal)

    maar dat rondt het als een geheel getal af, dus om op 2 decimalen af te ronden gebruik je deze truuk (onderaan pagina).

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.