Vraag & Antwoord

Webprogrammeren & scripting

Uitkomst afronden in een javascript

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

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

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