controllare campo con virgola e tornarlo

ciao, dovrei controllare un campo con numero in virgola ().

Prima di tutto ho cambiato il campo del db da int a float. ho questo script che funziona (ho seri dubbi che sia corretto cmq....), ma ho un dubbio:

$quota_iscrizione = $_POST['quota_iscrizione'];
if(!empty($_POST['quota_iscrizione']))
{
$_POST['quota_iscrizione'] = ereg_replace(',', '.', $_POST['quota_iscrizione']);
if (is_numeric($_POST['quota_iscrizione']))
{
$quota_iscrizione = $_POST['quota_iscrizione'];
}
}

nel db la virgola viene convertita in punto e annullato lo zero, quando andrà a richiamare il campo come vedrò il numero? con virgola e gli zeri dopo la virgola presenti?

grazie

inviato 8 anni fa
gabar-el
X 0 X

Per prima cosa ti dico che le valute in MySQL vanno memorizzate in campi di tipo decimal, in modo da non incorrere in arrotondamenti dovuti alla precisione limitata di qualsiasi campo numerico a virgola mobile.

La sostituzione della virgola in punto è meglio farla con str_replace e non con ereg_replace(), estremamente più lenta.

Dal database riceverai la valuta col punto e senza zeri, ma potrai rimediare facilmente con la funzione PHP number_format

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

grazie, ho capito. quando avrò finito un pò di cosine mi documenterò circa number_format

 :bye:

risposto 8 anni fa
gabar-el
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda