tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

Omlouváme se, provoz fóra byl ukončen

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