Avatar billede jobless Nybegynder
23. februar 2004 - 15:40 Der er 15 kommentarer og
1 løsning

Formatter valuta

Hej.

Jeg har et tal som jeg gerne vil have konverteret til dansk valutaformat (tusindtals seperator + 2 decimaler).

Hvordan gør man dette?

MVH

JoBless
Avatar billede nikolajdu Nybegynder
23. februar 2004 - 16:06 #1
Hvordan ser dit tal ud?
Avatar billede nikolajdu Nybegynder
23. februar 2004 - 16:09 #2
function decimal(tal) {
    decimals = Math.round((tal-Math.floor(tal))*100)/100;
    return decimals;
}
alert(decimal(mittal));
Avatar billede nikolajdu Nybegynder
23. februar 2004 - 16:13 #3
og nu med komma....

decimal = function(tal) {
    integer = Math.floor(tal);
    decimals = Math.round((tal-integer)*100)/100;
    twoDecimals = (decimals+0.00001).toString().substring(2,4);
    return integer+","+twoDecimals;
}
alert(decimal((0.02*100)/100));
Avatar billede jobless Nybegynder
23. februar 2004 - 16:22 #4
Nu kommer der som ønsket decimaler på, men hvor er tusindtals seperatoren.... ?
Avatar billede roenving Novice
23. februar 2004 - 16:30 #5
function valuta(val){
  komma = val.indexOf('.');
  if(komma>-1){
    dec = val.substring(komma + 1)
    val = val.substring(0,komma)
  }else dec = "00";
  val = val.split('').reverse().join('');
  val = val.replace(/(\d{3})/g, "$1.");
  if(val.length%4==0)val = val.substring(0,val.length-1);
  val = val.split('').reverse().join('');
  alert(val+","+dec);
}
Avatar billede nikolajdu Nybegynder
23. februar 2004 - 16:32 #6
åhhh tusindetal - hvor er jeg dog... dåm
Avatar billede jobless Nybegynder
23. februar 2004 - 16:53 #7
roenving: det ser ud til at fejle fordi der ikke er decimaler på når jeg tilgår funktionen. Skal jeg bare typekonvertere inden, og til hvilken type?
Avatar billede roenving Novice
23. februar 2004 - 17:19 #8
Hvordan får du fejl ?-)

-- jeg testede kun een gang uden decimaler, så måske er der noget, jeg ikke har opdaget, men den kigger netop efter, om der er komma i !-)
Avatar billede jobless Nybegynder
23. februar 2004 - 17:47 #9
Min browser melder ikke scriptfejl (på trods af at jeg har aktiveret meddelelse om hver scriptfejl)!! Funktionen kommer bare ikke videre end: komma = val.indexOf('.');, når jeg alerter både før og efter linien.
Avatar billede roenving Novice
24. februar 2004 - 00:41 #10
Har du hele denne linje med ?-)

function valuta(val){
Avatar billede jobless Nybegynder
24. februar 2004 - 08:06 #11
Jeg har nu prøvet siden på en anden browser.

Den fejler på linien:
komma = val.indexOf('.');
med fejlen 'Objektet understøtter ikke denne egenskab eller metode
Avatar billede roenving Novice
24. februar 2004 - 13:25 #12
Jeg kan altså ikke få den til at fejle (tester kun i IE6 og Mozilla 1.5 !-)

-- arh !-) du sender sikkert tal direkte ind i, så skal der en linje mere med:

-- og så har jeg lavet en lille udvidelse, så der kommer korrekt antal decimaler:

<script language="javascript" type="text/javascript">
function valuta(val){
  val+="";
  komma = val.indexOf('.');
  if(komma>-1){
    dec = val.substring(komma)+'00';
    if(dec.length>3)dec = Math.round(parseFloat('0'+dec)*100);
    else dec = dec.substring(1,3);
    val = val.substring(0,komma);
  }else dec = "00";
  val = val.split('').reverse().join('');
  val = val.replace(/(\d{3})/g, "$1.");
  if(val.length%4==0)val = val.substring(0,val.length-1);
  val = val.split('').reverse().join('');
  alert(val+","+dec);
}
</script>
Avatar billede jobless Nybegynder
24. februar 2004 - 13:39 #13
Kanon, nu spiller det.

Tak for hjælpen.
Avatar billede jobless Nybegynder
24. februar 2004 - 13:39 #14
ps.... svar pos point ;=)
Avatar billede roenving Novice
24. februar 2004 - 13:41 #15
Velbekomme '-)
Avatar billede roenving Novice
24. februar 2004 - 14:46 #16
-- og tak for points ;~}
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