Avatar billede showoff Nybegynder
12. marts 2008 - 14:20 Der er 4 kommentarer og
1 løsning

Erstat komma med punktum

Hej

Jeg laver en beregner i Flash på dansk. Da Flash jo ikke er så glad for at regne med kommatal (indtastes af brugerne) har jeg behov for at udskifte komma med punktum. Jeg har prøvet med dette men kan ikke rigtigt få det til at virke.

    var str = _root.indtastTal;
    var str2 = str.replace(",", ".");

På forhånd tak for hjælpen
Avatar billede maqhem Nybegynder
12. marts 2008 - 17:02 #1
Hvorfra har du funktionen "replace"? Den er ikke blå, så funktionen findes altså ikke. Og lige præcis med denne her funktion er Flash lidt noget møj, for hvis man ikke ved hvordan man skal gøre det, kan det være et helvede at finde frem til i hjælpen. Flash har nemlig ikke denne her funktion. Det, du skal gøre, er at du laver din streng om til et array med split. Her er et eksempel:

var Str:String = "Hej med dig. Dette er en streng.";
var Arr:Array = Str.split("e");

Nu vil Arr altså være Str, der er hugget over lige præcist på alle e'ernes pladser:

H,j m,d dig. D,tt, ,r ,n str, ng.

Alle kommaerne indikerer, at vi kan fange disse værdier således:

Arr[0] = "H"
Arr[1] = "j m"
Arr[2] = "d dig. D"

etc.

Nu har vi altså et array Arr - dette kan vi så smelte sammen, så alle "hullerne" (hvor der er komma) bliver erstattet af en bestemt tekst:

NyStr = Arr.join("E");

Og nu er NyStr faktisk identisk med Str, bortset at alle e'er er erstattet af E'er. Se selv:

var Str:String = "Hej med dig. Dette er en streng.";
var Arr:Array = Str.split("e");
var NyStr:String = Arr.join("E");
trace(NyStr);
// Output: HEj mEd dig. DEttE Er En strEng

Og du kan gøre det samme med din opgave:

var Str1:String = _root.indtastTal;
var Str2:String = Str1.split(",").join(".");
Avatar billede showoff Nybegynder
13. marts 2008 - 08:46 #2
Jamen det er jo lige præcis funktionen jeg har glemt. Det er noget jeg har kopieret fra en gammel opgave, så det er lige med at huske det hele. Men med disse to linier virker det. Men tak for hjælpen, du er velkommen til at sende et svar.

String.prototype.replace = function(pattern, replacement) {
  return this.split(pattern).join(replacement);
}
Avatar billede maqhem Nybegynder
13. marts 2008 - 09:21 #3
Så er det selvfølgelig klart, at det driller ;)
Avatar billede Slettet bruger
18. marts 2008 - 21:10 #4
Maqhem, hvorfor skal du absolut svare på alt det, jeg ved noget om?? :o)
Avatar billede maqhem Nybegynder
18. marts 2008 - 21:55 #5
Det må du da sørmer undskylde ;)
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