Autor | Zpráva | ||
---|---|---|---|
Stepanka Profil * |
#1 · Zasláno: 18. 9. 2008, 10:15:55
Ahoj,
prosím, pomohl by mi někdo s jedním naformátováním čísla? Mám třeba proměnnou $cislo, které je jedno až čtyřciferná. A já bych potřebovala před to číslo vložit tolik počet mezer, aby to celkově dávalo třeba 7 míst.. Tzn. u čísla 538 vypsat MezeraMezeraMezereMezera538. Nevíte někdo prosím jak na to? Vím že nejspíš pomocí sprintf, ale vůbec se mi to nedaří. Mockrát předem děkuju. |
||
Taps Profil |
#2 · Zasláno: 18. 9. 2008, 10:18:37 · Upravil/a: Taps
Stepanka
podívej se na fuknci str_pad echo str_pad(538, 7, "0", STR_PAD_LEFT); |
||
Stepanka Profil * |
#3 · Zasláno: 18. 9. 2008, 10:29:58
Taps
Ok, děkuju moc. Zkusila jsem to a s nulama to jde v pohodě, ale nejdou mi tam vložit mezery.. zkoušela jsem str_pad($row['pocet_dnu_od_zalozeni'], 7, " ", STR_PAD_LEFT) str_pad($row['pocet_dnu_od_zalozeni'], 7, "' '", STR_PAD_LEFT) str_pad($row['pocet_dnu_od_zalozeni'], 7, " ", STR_PAD_LEFT) a všechno možné, ale mezeru se mi vložit nepodařilo... Ale i tak děkuju, pořád je to lepší, než sprintf |
||
Kcko Profil |
#4 · Zasláno: 18. 9. 2008, 10:49:52
Myslis jo? :) me se teda nezda zrovna na toto pouzit STR_PAD a rict ze je to lepsi nez SPRINTF ale co uz
|
||
Taps Profil |
#5 · Zasláno: 18. 9. 2008, 10:50:00
Stepanka
pokud taháš čísla z databáze tak nastav sloupečku vlastnost unsigned_zerofill a pak ti to doplní 0 a nemusíš používat str_pad |
||
Stepanka Profil * |
#6 · Zasláno: 18. 9. 2008, 10:53:19
Kcko
Ne, už jsem zjistila, že sprintf bude lepší :-) Jen mi tam taky nejdou nacpat mezery.. |
||
Stepanka Profil * |
#7 · Zasláno: 18. 9. 2008, 10:53:50
Taps
Ale já už potřetí říkám, že tam nechci nuly, ale mezery :-) |
||
Kajman_ Profil * |
#8 · Zasláno: 18. 9. 2008, 11:22:37
str_replace(" "," ",str_pad($row['pocet_dnu_od_zalozeni'], 7, " ", STR_PAD_LEFT))
|
||
Mike8748 Profil |
#9 · Zasláno: 18. 9. 2008, 11:26:00
$vysledek=sprintf("%7d",$cislo);
slozity co :) |
||
Stepanka Profil * |
#10 · Zasláno: 18. 9. 2008, 11:30:42
Mike8748
je to složitý, to co píšeš už jsem zkoušela dávno, ale vloží to vždycky jen první mezeru před číslo a zbytek nic. Další mezery se neobjeví. Takže mám to samé, jako kdybych tu mezeru vložila natvrdo... Ale i tak díky. Zkusím Kajmanovo řešení.. |
||
Stepanka Profil * |
#11 · Zasláno: 18. 9. 2008, 11:36:29
Kajman_
Perfektní, první řešení co funguje :-) Děkuju mockrát!! |
||
nightfish Profil |
#12 · Zasláno: 18. 9. 2008, 11:39:35
Stepanka
problém většiny výše uvedených řešení spočívá v tom, že v HTML se dvě a více mezer za sebou zobrazí jako mezera jedna... ve zdrojovém kódu HTML budou zobrazeny všechny, ale ve výstupu jenom jedna... řešením je výstup prohnat funkcí str_replace(" ", " ", $vstup), která nahradí normální mezery za "pevné mezery", které se nezhušťují... |
||
Stepanka Profil * |
#13 · Zasláno: 18. 9. 2008, 12:26:10
nightfish
Aha, to jsem ani nevěděla... Děkuju. |
||
Michal666 Profil |
#14 · Zasláno: 18. 9. 2008, 13:02:30
Obcas se hodi mrknout do manualu napriklad sem number_format
|
||
Časová prodleva: 16 let
|
0