Oznámení
modifikátor pro příliš velký int ?
před 10 lety
- ic
- Člen | 413
Po delší době jsem odhlalil další ‚občasný‘ problém mojí aplikace, který byl zapříčiněn tím, že jsem do databáze ukládal velký integer (až 65 míst) s modifikátorem %i (případně %u). Pokud se ovšem dostanu už na příliš velké číslo vloží se jen 0. V php jsem musel upravit precision v mysql datový typ decimal, tady ale už nevím jak s tak velký číslem zarábět… je na to nějaký modifikátor, nebo musím stříhat řetězce?
před 10 lety
- deric
- Člen | 93
65 míst už je mimo rozsah integeru, ne? :) Zkus použít modifikátor
%f
Nejsem si teď jistý rozsahem čísel v php, ale je možné,
že s tím musíš pracovat jako se stringem (pokud db umožňuje vyšší
rozsah)
před 10 lety
- David Grudl
- Nette Core | 6806
65místné číslo uložené jako řetězec by mělo s modifikátorem %i nebo %u fungovat.
před 10 lety
- ic
- Člen | 413
právě že nebylo jako řetězec… jen číslo a tam to jaksi nešlo
před 10 lety
- David Grudl
- Nette Core | 6806
65 místné celé číslo snad ani nejde reprezentovat jinak, než jako řetězec.
před 10 lety
- ic
- Člen | 413
Na délku klasického čísla (přirozené číslo) mi pomohlo precision
http://cz2.php.net/…ini.core.php#…
a v mysql je na to ten decimal který pojme právě oněch 65 míst
takže jsem řetězec zapojit nemusel