Avatar billede tipsen Nybegynder
02. marts 2002 - 23:25 Der er 5 kommentarer og
1 løsning

JS pendant til C's printf() ?

Hej eksperter

Jeg vil gerne have, at følgende:

for (var i=0;i<20;i++) {
  document.write("nummer"+???(i)+"test");
}

viser:

nummer00test
nummer01test
nummer02test
...
nummer19test

Hvis det var C eller PHP ville jeg bruge printf() el. sprintf() - men jeg kan ikke finde dem i JavaScript!

Hvad kan jeg gøre for at løse problemet?
Avatar billede tipsen Nybegynder
02. marts 2002 - 23:26 #1
Dvs. en pendant til printf("%02d\n", i) efterlyses...
Avatar billede cms Nybegynder
02. marts 2002 - 23:34 #2
function fmtint(i, len){
s=i+'';
while(s.length<len) s='0'+s;
return s;
}
for (var i=0;i<20;i++) {
  document.write("nummer"+fmt(i, 2)+"test");
}
Avatar billede cms Nybegynder
02. marts 2002 - 23:35 #3
doh!
sådan:
function fmtint(i, len){
s=i+'';
while(s.length<len) s='0'+s;
return s;
}
for (var i=0;i<20;i++) {
  document.write("nummer"+fmtint(i, 2)+"test");
}
Avatar billede tipsen Nybegynder
02. marts 2002 - 23:43 #4
findes der virkelig ikke indbygget funktion til dette!!??
Avatar billede tipsen Nybegynder
02. marts 2002 - 23:47 #5
hvis det eks. var tallene fra 1-20, ville følgende vel kunne gøre det?

document.write("nummer" + ((i+'').length==2?i:'0'+i) + "test");
Avatar billede tipsen Nybegynder
08. marts 2002 - 01:11 #6
Tak for hjælpen cms - jeg havde ikke brug for noget der fungerede så generelt, som det du har lavet, men du gav mig ideen til følgende kodestump: (i<10)?'0'+i:i) som løser problemet!

Jeg er stadig lidt overrasket over, at funktionen ikke er indbygget i javascript!
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