anoniem Geplaatst: 5 maart 2002 Delen Geplaatst: 5 maart 2002 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! Quote Link naar reactie
anoniem Geplaatst: 5 maart 2002 Auteur Delen Geplaatst: 5 maart 2002 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] Quote Link naar reactie
anoniem Geplaatst: 5 maart 2002 Auteur Delen Geplaatst: 5 maart 2002 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] Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen