Avatar billede withli Nybegynder
25. august 2004 - 14:57 Der er 13 kommentarer og
1 løsning

Dato manipulation.

Nu har jeg læst lidt rundt i de forskellige besvarelser, og kunne umiddelbart ikke finde noget som lige dækkede mit behov :)

Så nu prøver jeg denne her vej.

Jeg skal bruge et regx som kan håndtere at lave en måneds tal fra 1-12 om til 01-12 altså padde med et 0 foran hvis der ikke allerede er to tal, er der nogle der har en god ide, til hvorledes at jeg skal lave dette?
Avatar billede roenving Novice
25. august 2004 - 15:02 #1
F.eks. i java script:

var txt = "1";
nyTxt = ("0"+txt).replace(/^.?(\d\d)$/,"$1");
Avatar billede roenving Novice
25. august 2004 - 15:02 #2
Som du kan se, kunne jeg ikke se en vej uden om en simpel streng-manipulation !-)
Avatar billede withli Nybegynder
25. august 2004 - 15:04 #3
Hmmm nu sidder jeg så i noget perl :)
Avatar billede roenving Novice
25. august 2004 - 15:07 #4
Grundideen kan du vel bruge alligevel ?-)

Sæt et nul foran, og returner de to bageste cifre ...
Avatar billede erikjacobsen Ekspert
25. august 2004 - 15:29 #5
Prøv

  $dato=8;
  $dato = sprintf("%02d",$dato);
  print $dato;
Avatar billede withli Nybegynder
25. august 2004 - 15:34 #6
close enough min løsning kom til at se sådan her ud

$numver = ($numver ="0".$numver) =~ s/01/1/;
Avatar billede withli Nybegynder
25. august 2004 - 15:34 #7
Roenving og Erik smid et svar, jeg kaster point i begge jeres retninger
Avatar billede erikjacobsen Ekspert
25. august 2004 - 15:36 #8
Tak, men jeg samler slet ikke på point.

sprintf og tilsvarende er lavet til formattering af tal og tekst, og gør
det efter min mening og erfaring muligt efterfølgende at læse hvad der sker.
Din løsning, withli, kræver lidt hjerneaktivitet før man ser hvad der sker ;)
Avatar billede withli Nybegynder
25. august 2004 - 15:45 #9
Hmmm ja den er faktisk ikke særligt god, den virker ikke ordentligt hvis man foreksempel har værdien 5 ;(
Avatar billede withli Nybegynder
25. august 2004 - 15:52 #10
Ja jeg tænkte jo ikke lige på at hvis den ikke finder 01 så smider den jo bare en tom streng tilbage til min $numver :( nogle ideer, kan man få den til at lade strengen være urørt?
Avatar billede withli Nybegynder
25. august 2004 - 16:00 #11
Så blev den sådan her

$numver = ($numver ="0".$numver);if (length $numver == 3){$numver    =~ s/01/1/;
}

Ikke voldsomt kønt, men effektivt :)
Avatar billede withli Nybegynder
25. august 2004 - 16:05 #12
Jamen så for at lukke den så smider jeg lige selv et svar, Roenving, du er også velkommen til at smide et svar, så kaster jeg nogle point efter dig.
Avatar billede roenving Novice
25. august 2004 - 16:07 #13
*g*

-- hvilket jeg jo så ikke kan !-)
Avatar billede withli Nybegynder
26. august 2004 - 12:24 #14
Æh æv :) jeg laver lige en ny :)
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
Kurser inden for grundlæggende programmering

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