Avatar billede muddi Praktikant
28. maj 2002 - 19:15 Der er 7 kommentarer og
1 løsning

tal til danske kroner?

Jeg har forsøgt at lave et javascript, som laver et tal til danske kroner, men jeg kan ikke få det til at virke... er der nogen der kan finde ud af det?

ialt = 1231.5;

var cifre = ialt.split('.');
var decimaler = cifre[1].length;
if (decimaler == 1){
  ialt = ialt + '0';
}
if (decimaler == 0){
  ialt = ialt + '.00';
}

sådan ser mit script ud, men jeg kan ikke få det til at virke... jeg ville i øvrigt gerne have tallet til at se således ud: 1.231,50

altså med "." som tusindseperator og "," som decimal-seperator!
Avatar billede jakoba Nybegynder
28. maj 2002 - 19:30 #1
<script language='javascript'>

function toDecimaler ( tal ) {
    if ( typeof( tal ) == String ) tal = parseFloat( tal );
    talTx = "_" +Math.round( 100.0*tal ) "_";
    if ( talTx.length < 5 ) {
        preZero = "_000";
        taltx = preZero.substring(0,6-talTx.length) +talTx.substring(1);
    };
    talTx = talTx.substring(1,talTx.length-3) +","
            + talTx.substring(talTx.length-3,talTx.length-1);
    for ( i=talTx.length-6; i>0; i-=3 ) {
        talTx = talTx.substring(0,i) +"." +talTx.substring(i);
    }
    return talTx;
}; //end toDecimaler ( nummer ) -> string

</script>

mvh JakobA
Avatar billede muddi Praktikant
28. maj 2002 - 19:39 #2
hmm... jeg kan ikke få det til at virke... er det ikke muligt at lave det mere simpelt? Måske en smule mere overskueligt?
Avatar billede muddi Praktikant
28. maj 2002 - 19:40 #3
Hvad er der i vejen med det script jeg selv har skrevet?
Avatar billede muddi Praktikant
28. maj 2002 - 19:46 #4
Hvordan splitter man en streng til et array ved hvert punktum? Hvorfor virker .split ikke?
Avatar billede muddi Praktikant
28. maj 2002 - 20:02 #5
hmm... der kommer nok ikke noget svar!
Avatar billede jakoba Nybegynder
28. maj 2002 - 20:04 #6
test med fx:

<a href="" onclick="alert( toDecimaler( 12345678.90123 ) );return false">Test</a>
Avatar billede jakoba Nybegynder
28. maj 2002 - 20:12 #7
en fejl i dit er linien:
  var decimaler = cifre[1].length;
den giver fejl hvis der slet ikke var noget punktum
  if ( cifre.length > 1 ) {
      var decimaler = cifre[1].length;
  } else {
      var decimaler = 0;
  }
vil give samme resultat uden fejl.

grunden til mit komplicerede er at det er et jeg havde og lige rettede lidt i.
Der er den fordel ved det at det tager højde for en del flere ting end dit forslag.

hvis fx:
    var ialt = 1234.56789;
vil dit ikke klippe de overflødige decimaler væk.
Avatar billede muddi Praktikant
29. maj 2002 - 03:43 #8
Jo det ville... det havde jeg klaret et andet sted i scriptet med math.round! Jeg har nu lavet en ny funktion som jeg bruger i stedet! Ville gerne give nogen points, men har lukket spørgsmålet... :o(
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