Avatar billede mnv_dk Praktikant
25. september 2006 - 10:48 Der er 7 kommentarer og
1 løsning

Nummer formatering

Hej,

Hvordan får jeg formmateret
9999.99999999999

Til et dansk formateret tal, dvs.

Punktum for hvert 1000, og , v. decimal, samt afrundet, så ovenstående tal bliver til:

10.000,00

Og så 14524.548614 bliver til

14.524,55

På forhånd tak.
Avatar billede coderdk Praktikant
25. september 2006 - 12:09 #1
Prøv med:

    function formatNumber( number )
    {
        var tmp = ( Math.round( number * 100 ) / 100 ).toString();
        var tmpint = tmp.substr(0,tmp.indexOf('.'));
        var tmpfrac = tmp.substr(tmp.indexOf('.')+1);
        if (tmpfrac.length==1) tmpfrac += '0';
        var cnt = 0;
        var len = tmpint.length;
        tmp = '';
        for ( i = len - 1; i >= 0; i -= 1 )
        {
            if ( cnt % 3 == 0 && tmp != '' ) tmp = '.' + tmp;
            cnt++;
            tmp = tmpint[i] + tmp;
        }
        return tmp + ',' + tmpfrac;
    }
Avatar billede roenving Novice
26. september 2006 - 13:04 #2
Og en anden vej ind:

<script type="text/javascript">
function ins1000Sep(val){
  val = val.split(",");
  val[0] = val[0].split("").reverse().join("");
  val[0] = val[0].replace(/(\d{3})/g,"$1.");
  val[0] = val[0].split("").reverse().join("");
  val[0] = val[0].indexOf(".")==0?val[0].substring(1):val[0];
  return val.join(",");
}
function rem1000Sep(val){
  return val.replace(/\./g,"");
}
function afrund(tal){
  if(isNaN(tal))return "0,00";
  tal = (""+(Math.round(tal*100))/100).replace(/\./,",");
  punktum = tal.indexOf(",");
  if (punktum==-1)return tal+",00";
  if (tal.length-punktum==3)return tal;
  else return tal+"0";
}
</script>

-- og kaldet kunne f.eks. være:

var formatteretTal = ins1000Sep(afrund(tal));
Avatar billede mnv_dk Praktikant
23. oktober 2006 - 09:24 #3
roenving: Læg et svar.
coderdk: Din bugger lidt med forskellige tal og 0-værdier.
Avatar billede coderdk Praktikant
23. oktober 2006 - 10:04 #4
hehe ok
Avatar billede coderdk Praktikant
23. oktober 2006 - 10:06 #5
Afvis lige mit svar, så du ikke kommer til at acceptere - Hvilke tal buggede den ved?
Avatar billede roenving Novice
24. oktober 2006 - 22:20 #6
Oki '-)
Avatar billede mnv_dk Praktikant
25. oktober 2006 - 06:55 #7
coderdk: Kan ikke huske det helt præcist. Men kan huske at ved 0 skrev den kun ,00
Avatar billede roenving Novice
26. oktober 2006 - 01:51 #8
TAk for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester