Avatar billede sun Nybegynder
15. juli 2004 - 12:02 Der er 14 kommentarer og
2 løsninger

Komma ind i penge nummer

Er der en som har en function, som tager et tal og sætter kommaer ind efter hver 3. tegn bagfra.

Så 1400000066 kr biver til 1,400,000,066 kr
Avatar billede mat Nybegynder
15. juli 2004 - 13:14 #1
Du kan prøve at kigge her: http://www.eksperten.dk/spm/468661 (så erstatter du bare punktum med komma)
Avatar billede sun Nybegynder
15. juli 2004 - 13:34 #2
En er måske lige til lidt for lidt points denne troret det var meget let at gøre.

/mat, kan ikke selv finde ud af hvordan jeg retter den til så den også tager og sætter så mange kommaer ind som skal til efter hvor stort talet er!
Avatar billede mat Nybegynder
15. juli 2004 - 13:47 #3
øhm er det ikke det den gør?

tal = 1400000066;

function delimiter(num) {
    var output;
    var string_num = num.toString();
    var arr = string_num.split("");

    for (var i = arr.length; i > 0; i -= 3) {
        if (i != arr.length) arr.splice(i, 0, ",");
    }
    for (var j = 0; j < arr.length; j++) {
        output += arr[j];
    }
    return output;
}

trace(delimiter(tal));
Avatar billede mat Nybegynder
15. juli 2004 - 13:50 #4
(nu plejer man vist egentlig heller ikke at tusindetalsseperere med kommaer ;)
Avatar billede barklund Nybegynder
15. juli 2004 - 13:52 #5
mat, jo på engelsk, hvor punktum er decimalseparator, så er komma tusindseparator :)
Avatar billede mat Nybegynder
15. juli 2004 - 13:54 #6
de er sgu da mærkelige :P
Avatar billede mat Nybegynder
15. juli 2004 - 13:58 #7
..og nåja, ovenstående tager ikke hensyn til kommatal (eller meget meget store tal) :)
Avatar billede barklund Nybegynder
15. juli 2004 - 14:10 #8
Nu også til kommatal! Og den kan kun tage tal op til en "længde" af signifikante cifre på 14-15 stykker grundet den interne repræsentation af tallene.

function delimiter(num, t, k) {
    var output = "";
    var string_parts = num.toString().split(".");
    var arr = string_parts[0].split("");
    for (var i = arr.length; i > 0; i -= 3) {
        if (i != arr.length) {
            arr.splice(i, 0, t);
        }
    }
    for (var j = 0; j < arr.length; j++) {
        output += arr[j];
    }
    if (string_parts.length == 2) {
        output += k + string_parts[1];
    }
    return output;
}
trace(delimiter(1400000066, ".", ","));    // 1.400.000.066
trace(delimiter(1400000066.95, ".", ","));  // 1.400.000.066,95
trace(delimiter(1400000066.95, ",", ","));  // 1,400,000,066.95

--
Morten Barklund
Avatar billede mat Nybegynder
15. juli 2004 - 14:19 #9
:)
Avatar billede sun Nybegynder
15. juli 2004 - 14:30 #10
Tak det var nogle gode svar til 15 point, men den som barklund har laver er mere end jeg håbe på, så skal jeg ikke lave de 2 version (dansk , engelsk) som jeg troet jeg var nød til.

Super... smid lige et svar. :o)
Avatar billede barklund Nybegynder
15. juli 2004 - 14:32 #11
Oki, men mat må også godt være med! :D
Avatar billede mat Nybegynder
15. juli 2004 - 14:37 #12
weee :)
Avatar billede sun Nybegynder
15. juli 2004 - 14:39 #13
hehe, ja mat hop på! :0) der er hele 7 point at hente.
Avatar billede mat Nybegynder
15. juli 2004 - 14:40 #14
jeg bliver RIG...RIG, I tell you!!
Avatar billede sun Nybegynder
15. juli 2004 - 14:40 #15
hov! det blev den forkerte vej rundt, håber det går ;-)
Avatar billede barklund Nybegynder
15. juli 2004 - 15:07 #16
Orv tak! :)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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