
Originariamente inviata da
darbula
If strict il confronto è se il tipo e il valore sono uguali.
Codice PHP:
// strict
if('5.120' === '5.120') {
echo 'vero';
}
// Non strict
if(5.12 == '5.120') {
echo 'vero';
}
Solitamente i numeri in virgola mobile sono con perdita di precisione e zero dopo il punto decimale non sono significativi (eccetto qualche eccezione).
Quindi nel database è di tipo float?
Per il debug meglio utilizzare la funzione var_dump che indica anche il tipo
Effettivamente anche utilizzare echo converte da float a stringa usa una precisione arbitraria su vecchie installazioni php, ovviamente zero non è permesso.