Avatar billede razmuz_dk Nybegynder
03. januar 2005 - 00:40 Der er 8 kommentarer og
1 løsning

Findes funktion der kan dette

Findes der en funktion indbygget i PHP der tager et tal og indsætter x antal 0'er før tallet indtil dets længe når y.

I eksempler nedenunder lader jeg som om funktion jeg søger hedder function

Fx function([tal],[længde]);

function(1,3) // skal returnere 001 (da længden er 3 og tallet 1)
function(100,4) // returnere 0100
function(2,5) // returnere 00002

Håber det giver mening, det er jo ved at være sent..? :)

mvh.
Rasmus
Avatar billede googolplex Novice
03. januar 2005 - 00:51 #1
Avatar billede jakoba Nybegynder
03. januar 2005 - 00:59 #2
Næe, men du kan da lave en:

function put_nuller_foran( $tal, $cifre_ialt ) {
    $temp = number_format( $tal, 0, "", "" );  // gør tallet til en streng.
    if( strlen( $temp ) < $cifre_ialt ) {  // hvis der er plads til 0-er foran
        return substr( "0000000000000000000" .$temp, -$cifre_ialt );
    } else {
        return $temp
    }
}

mvh JakobA
Avatar billede gammelhat Nybegynder
03. januar 2005 - 00:59 #3
str_pad(tal, længde, "0", STR_PAD_LEFT);
Avatar billede jakoba Nybegynder
03. januar 2005 - 01:00 #4
ups. googolplex har ret. og den er indbygget.
Avatar billede coderdk Praktikant
03. januar 2005 - 01:32 #5
googolplex's er pænest efter min mening: echo sprintf( "%10d", 123 );
Avatar billede razmuz_dk Nybegynder
03. januar 2005 - 23:59 #6
tak indtil videre, men

hvor definerer jeg længden? :)
sprintf( "%10d", 123 );
??
Avatar billede gammelhat Nybegynder
04. januar 2005 - 00:03 #7
sprintf( "%[længde]d", 123 );

hvis du så sætter '0' foran længde, får du det ønskede resultat

sprintf( "%010d", 123 );

Men jeg synes nu alligevel min str_pad er pænere :)
Avatar billede jakoba Nybegynder
04. januar 2005 - 00:15 #8
bare:
sprintf( "%010d", 123 );

%            her begynder format specifikationen
  0          fyld ud med bogstav '0'
    10        til et felt der er 10 bogstaver bredt
        d    the argument is treated as an integer, and presented as a (signed) decimal number.

så den skulle gerne skrive  0000000123
Avatar billede jakoba Nybegynder
04. januar 2005 - 00:16 #9
mand jeg er langsom.
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