Avatar billede lokum Nybegynder
23. februar 2004 - 11:45 Der er 6 kommentarer og
1 løsning

Tusindtals seperator

Hej,

Jeg har en variabel mitNummer=2000+5000;

Den skal så puttes i en tekststreng: minTekst="Her er schtur schtuuur nummer: "+mitNummer;

Men jeg vil gerne have at outputtet ser således ud:
Her er schtur schtuuur nummer: 7.000

Nogen idèer?

Kys lokum (o;
Avatar billede mat Nybegynder
23. februar 2004 - 12:21 #1
Jeg ved ikke om den er en kende crude, men det ser ud til at virke:

tal = 1000111050;

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));

mvh mat
Avatar billede lokum Nybegynder
23. februar 2004 - 12:38 #2
Hey mat. Ja, den ser nok "crude" ud, men det er sandsynligvis det der skal til. Der er tilsyneladende ingen AS funktion som kan det. Super, mat! ((o;
Avatar billede mat Nybegynder
23. februar 2004 - 12:40 #3
det bliver lige to nye toastbrød!..de andre brændte sgu på mens jeg skrev det ;)
Avatar billede lokum Nybegynder
23. februar 2004 - 12:41 #4
He he... ja, det kan points jo ikke kompensere for. (o;
Avatar billede mat Nybegynder
23. februar 2004 - 13:27 #5
Nu har jeg lavet det til en klasse (det er utroligt hvad man gør for at undgå at lave det man burde). Så nu har AS næsten en funktion til tusindetals punktummer :P

gem som "TDelimiter.as":

class TDelimiter {
   
    private var output:String;
    private var string_num:String;
    private var arr:Array;
   
    function TDelimiter() {
        output = "";
    }
    public function del(num:Number):String {
       
        string_num = num.toString();
        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;
    }
   
}


Så skal du bare importere den i din fla med:

import TDelimiter.as;

Brug:

t = 10000;
d = new TDelimiter();
trace(d.del(t));


Det er så min første klasse i AS 2, der næsten kan noget næsten fornuftigt :P
Avatar billede lokum Nybegynder
23. februar 2004 - 14:07 #6
Spændende! Ja, det ser en smule mere "kode"-agtigt ud (Java-inspireret syntaks??). Til gengæld fatter jeg ikke længere helt præcis hvad der foregår... (o:> Ja, kan du så komme igang med dine lektier!!
Avatar billede mat Nybegynder
23. februar 2004 - 14:26 #7
Ja actionscript 2 ligner Java en del, og der foregår ikke andet end at funktionen nu er pakket ind i en klasse, og variablerne er blevet type-deklarerede :)

..jeg gider ikke lave lektier!
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