Zdarvim!
Nevite nekdo, jak lze udelat toto?:
Mam cislo (treba dvojmistne) a potrebuju z neho udelat cislo sestimistne tak, aby hodnota cisla byla stejna ale aby se pred cislo doplnily nuly.
Př:
dvojmistne cislo - 37
sestimistne cislo - 000037
Predem moc dik ;)
$vysledek=str_pad($cislo,6,"0",STR_PAD_LEFT);
- zarovna promenou $cislo na 6 znaku, doplni znak "0" zleva
PS: vis o tom ze existuje i neco jako php manual?
Anebo alogritmy ;-)
$cislo = 37;
$pocetcifer = 7;
$pocet = strlen($cislo);
for($i=$pocet;$i<$pocetcifer;$i++) $vysl .= "0";
$vysl .= $cislo;
print $vysl;
jo, šlo by to i složitěji, ale proč, že...
printf('%06d', 42);
Moc vsem dik za rady.
A ted mam dalsi zakernou otazku. Jak mam potom ty nuly zase odstranit?
Predem moc vsem, dik ;)
mohlo by stačit number_format() jen s tím číslem
otázky ve mě začínají vzbuzovat zvědavost :-O ?
tak ne, musí se to všechno vypsat:
number_format($cislo, 0, '', '')
// hodnota, deset. m., oddelovac deset. m., oddelovac tisicu
odstraneni nul:
To explicitly convert a value to integer, use either the (int) or the (integer) cast. However, in most cases you do not need to use the cast, since a value will be automatically converted if an operator, function or control structure requires an integer argument. You can also convert a value to integer with the function intval().
takze bud explicitne pretypovat nebo pricist nulu
nebo to vynásob jednou a ono se to od nul taky oklepe
echo ($snulama * 1);
Algoritmus se mi ted uz nechce delat, takze tu dam neco jinyho :)
eregi_replace("^0*","",$c);
jj, uz mi to funguje. diky moc vsem :)
jezis, preco robite veci tak zlozito
hladajte vzdy to najednoduchsie a najrychlejsie riesenie
$zerofill_number = '0000010';
$number = (int) $zerofill_number;
echo $number;
a je to !
char0n: To uz psal Tonik, ale ve vete. A ja to psal z legrace -> proc jednoduse, kdyz ti jde slozite ;-)
A mimoto. Nejjednodussi je od Havel-st