Autor Zpráva
Enko
Profil
Ahoj,
bude vhodné ošetření vstupních hodnot pro ukládání do MySQL tabulky do sloupce tipu decimal(12,2) použít následující? jestli ne, tak co bude lepší?
Děkuji
number_format($number, 2, ".", "");
Pepiik
Profil
Co potřebuješ ošetřit? ten range (12,2)?
Enko
Profil
Aha, tak pro doplnění:-)
Potřebuji ošetřit, aby bylo pouze číslo buď typu integer nebo float, ale s tečkou. A ideálně, pokud uživatel zadá desetinou čárku, převést ji na tečku. Napadá mě, že by to mohlo jít pres regulární výrazy, ale nejsem si úplně přesně jistý jak.
Pepiik
Profil
záleží na tom jak přesně to chceš ošetřit..např jestli uživatel zadá 3 desetinná místa ( zda se má jednoduše useknout nebo to budeš brát jako špatný vstup). nebo jestli zadá číslo vyšší jak 12 míst atd..

tady je jen nejjednoduší řešení.
$cislo = "1,0";
$cislo = str_replace(",", ".", $cislo); 
if(is_numeric($cislo)){
    echo number_format($cislo, 2, ".", "0");
}else{
    echo "vstup neni cislo";
}
Enko
Profil
Pepiik:
Ano, jak jednoduché. Děkuji :-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: