Sostituire virgola con punto form

colomber

Utente Attivo
4 Dic 2012
232
1
18
Salve devo inserire numeri con virgola in un form con due campi testuali e con questi numeri devo eseguire dei calcoli matematici. Se inserisco numeri in questo formato col punto tutto funziona perfettamente.

6.40
9.40

Mentre se inserisco numeri con la virgola non funziona.

6,40
9,40

devo fare in modo che sia che venga inserito il punto o sia che venga inserita la virgola vengano eseguiti comunque i calcoli, ho provato a convertire la virgola con il punto dopo ma non funziona.


Qualcuno può aiutarmi ? grazie
 
La virgola non viene riconosciuta da php come valore valido in un dato numerico, bisogna usare il punto infatti.
Ti scrivo al volo una funzione da usare per convertire le virgole in punti:

PHP:
function commasToDots($number) {
    return (float)strtr($number, ',', '.');
}

Ti consiglio di usarla prima per normalizzare i tuoi dati e succesivamente usarli per il calcolo, ad esempio:
PHP:
$val1 = commasToDots('2,15');
$val2 = commasToDots('2,25');

echo ($val1+$val2); // 4.4

ps: se passi alla funzione un valore che usa già i punti al posto delle virgole non succede niente, quindi non hai bisogno di fare dei controlli per capire quando usare la funzione ma puoi usarla arbitrariamente su tutti i valori.
 

Discussioni simili