25. oktober 2009 - 00:03Der er
2 kommentarer og 1 løsning
Tilretning af adder-funktion
Hejsa. Denne funktion lægger 3 dansk-formaterede tal sammen og afleverer dem som et dansk-formateret tal med 2 decimaler og tusindtalsseperator. Jeg kunne godt tænke mig en tilretning, så der stadig lægges sammen, men koden skal aflevere et tal uden tusindtalsseperator og kun 1 decimal.
function adder(){ var a var tal=0 var len=arguments.length for(a=0;a<len;a++){ if(typeof(arguments[a])=="string"){ tal+=100*arguments[a].replace(/\./g,"").replace(/\,/g,".") } else{ tal+=100*arguments[a] } } tal=""+Math.floor(tal) if(tal=="NaN"){ tal="000" //return null //fjern udkommentering for at returnere null i tilfælde af ugyldigt input } while((len=tal.length)<3){ tal="0"+tal } tal=tal.split("") tal[len-2]=","+tal[len-2] for(a=len-5;a>0;a-=3){ tal[a]="."+tal[a] } return tal.join("") } function f() { document.getElementById("resultat").value=adder(document.getElementById("tal_1").value,document.getElementById("tal_2").value,document.getElementById("tal_3").value) }
Du må love mig at du prøver at lære det selv når du får tid. Generel funktion, og med lidt bedre negativ håndtering:
function adder(){ var decimaler=1 var faktor=Math.pow(10,decimaler) var a var tal=0 var len=arguments.length for(a=0;a<len;a++){ if(typeof(arguments[a])=="string"){ tal+=faktor*arguments[a].replace(/\./g,"").replace(/\,/g,".").replace(/--/g,"") } else{ tal+=faktor*arguments[a] } } tal=Math.floor(tal) if(tal==NaN){ tal=0 //return null //fjern udkommentering for at returnere null i tilfælde af ugyldigt input } var fortegn=(tal<0?"-":"") tal=""+Math.abs(tal) while((len=tal.length)<3){ tal="0"+tal } tal=tal.split("") tal[len-decimaler]=","+tal[len-decimaler] /* tusindtalsseperator udkommenteret for(a=len-3-decimaler;a>0;a-=3){ tal[a]="."+tal[a] } */ return fortegn+tal.join("") }
Nu hvor du begynder at få interesse for Javascript, kunne det måske være interessant at kigge på et framework. JQuery har plugins til både at arbejde med valuta og formatere valuta ud fra kultur.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.