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

Uitkomst afronden in een javascript

None
3 antwoorden
  • Ik heb een javascriptje dat bedragen bij elkaar optelt aan de hand van items die ik selecteer en dir vervolgens met een factor x vermenigvuldigd bijv. 1.19
    de uitkomst wordt dan vaak iets van 45.367545344 maar ik wil eigenlijk 45.37 hebben. Ken dat ?? en als het kan, hoe pak ik het aan. Alvast bedankt voor de hulp!
  • voorbeeldje:
    [code:1:d48226fcc6]
    <script type="text/javascript">
    function jsRound(fNumber)
    {
    var iPrecision = jsRound.arguments[1] || 2;
    var iPower = Math.pow(10, iPrecision);
    return (Math.round(parseFloat(fNumber) * iPower) / iPower);
    }
    </script>
    [/code:1:d48226fcc6]
    Optionele tweede parameter geeft precision aan (standaard is 2), dus bijvoorbeeld:
    [code:1:d48226fcc6]
    var fTestje = 1.2345;
    document.write (jsRound(fTestje)); // geeft 1.23
    document.write (jsRound(fTestje, 3)); // geeft 1.235
    [/code:1:d48226fcc6]
  • Ik heb deze ooit eens gebruikt. Aangezien je met BTW ging werken leken het me bedragen :wink:
    Kan iets verfijnd worden (qua codering), maar werkt ok.
    Het maakt het af te ronden getal op met een valuta-teken (hier de $) ervoor en plaats punten bij de duizendtallen en een komma voor de centen.
    Uiteraard kun je met de uitkomst NIET verder rekenen en is het puur bedoeld voor de opmaak

    [code:1:77cbc6525a]
    function cent(amount)
    {
    if (amount == 0)
    {
    return("");
    }
    amount = Math.round(amount*100)/100;
    amount = (amount == Math.floor(amount)) ? amount + '.00' : ( (amount*10 == Math.floor(amount*10)) ? amount + '0' : amount)+'';
    amount = amount.substring(0,amount.indexOf('.'))+','+amount.substring(amount.indexOf('.')+1,amount.length);
    var amountdot='';
    var dot = 0;
    for ( i = amount.length-3; i>=1; i– )
    {
    dot++;
    amountdot = amount.charAt(i-1) + amountdot;
    if ( dot == 3 && i > 1)
    {
    dot = 0;
    amountdot = "."+amountdot;
    }
    }
    return ("$"+' '+amountdot+amount.substring(amount.indexOf(','),amount.indexOf(',')+3));
    }

    document.write(cent(14432.232235)); // Resulteerd $ 14.432,23
    [/code:1:77cbc6525a]

Beantwoord deze vraag

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