Autor | Zpráva | ||
---|---|---|---|
Creon Profil |
#1 · Zasláno: 10. 7. 2011, 19:16:13 · Upravil/a: Creon
Ahoj všichni,
narazil jsem na problém při zadávání dat do formuláře. Počítám s ním jednoduchý příklad, ale zarazila mne jedna věc. Pokud použiji např. číslo 74,5 není výsledek totožný jako kdybych použil číslo 74.5. Podle kalkulačky je výpočet vždy správný s "," v čísle. Nějak mi není jasné čím by to mohlo být. Má otázka tedy zní jak se to dá řešit, případně bych uvítal možnost formuláři zdělit, že smí přijímat jen čísla a ",". Děkuji za každý nápad. |
||
Darker Profil |
#2 · Zasláno: 10. 7. 2011, 19:25:18 · Upravil/a: Darker
Creon:
„Podle kalkulačky je výpočet vždy správný s "," v čísle.“ V češtině se desetinná čísla oddělují čárkou, v angličtině nikoliv, tam platí tečka. Doporučuji akceptovat jak tečku, tak čárku a v PHP potom čárky nahrazovat tečkami. „jen čísla a ",".“ var regexp=/[^0-9\,\.]/g var text1 = "0,3"; var text2= "ble."; if(!regexp.test(text1))alert("Text jedna neni OK"); if(!regexp.test(text2))alert("Text dva neni OK"); EDIT: Opraven reg vyraz |
||
Creon Profil |
#3 · Zasláno: 10. 7. 2011, 19:26:54 · Upravil/a: Creon
Darker:
Vyzkouším, díky. |
||
Tori Profil |
#4 · Zasláno: 10. 7. 2011, 19:33:48
Creon:
„Co si php dosadí za čárku?“ Nic, vezme čísla, která jsou před čárkou a použije je jako celé číslo (vizte manuál). Použila bych str_replace (čárky na tečky), eventuelně v kombinaci s floatval. Taky by nebylo od věci ošetřit podmínkou možnost, že někdo zadá tečku. Od PHP 5.3 by mělo jít použít i NumberFormatter::parse. |
||
Časová prodleva: 13 let
|
0