Napačna pretvorba...?
5 naročnikov
5 naročnikov
Hmm...
Php skripta mi dela male težave...ko vpišem ceno, naprimer
8.62 mi to shrani in prikaže kot 8.6...
Če probam 8.61 ali 8.63 dela brez problemov...
Ma kdo kak predlog?
Hvala
16 odgovorov
Tole sem slucajno videl...
Nikar ne shranjujte cen kot decimalno stevilo - NIKOLI, ker vas bo ta odlocitev tepla in tepla, pa se zamenjati je ne boste mogli, ker bo takrat verjetno ze prepozno...
Raje kot xx,xxEUR naredite xxxx EUR-Centov
Tako imas v bazi integer in ne decimal, v eure pa pretvoris samo pri izpisovanju. Pa se to ne s sprintf(), ker bo ravnotako zaokrozil decimalke po svoje ampak naredi array iz stevilke in loci zadnji dve z vejico - itak vedno prikazujes samo string.
Tako imas vedno isto stevilo, ne glede na vse operacije, ki jih pocnes s ceno...
Govorim iz lastnih izkusenj... :)
Werky poglej v bazi kako je shranjeno,
- če je pravilno shranjeno preveri izpis.
- če ni pravilno shranjeno imaš napako v vpisu v bazo oz. zajemanju podatkov
evo sem pogledal, v bazi je shranjeno kot 8.62, izpis pa je 8.6
Samo kje da preverim izpis? Namreč v html fajlu je za prikaz takole:
${moneyit($one['deals_price'])}
Kako naj to prikažem ok? V php fajlu, v katerem je na koncu include prejšnji html, pa ni nikjer te variable...
Pa evo, še enkrat, če dam 8.61 je vse ok, tako front end, kot baza,kot admin, če dam pa 8.62 pa baza ok, front end in admin pa 8.6...wtf?
Še malo več info:
Vse dela ok in uredu, samo če je druga decimalka 2 jo preprosto ne pokaže...lahko je to 3.32 ali pa 10.02...številke 2 ne pokaže...