Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Campos decimais do MySQL retornados como strings em PHP


Eu duvido muito. Decimais usam matemática de ponto fixo e não há tipo de dados no PHP que possa fornecer isso. Os floats chegam perto, mas na verdade são arredondados, o que significa que atribuir 2 a um float pode resultar em 1,99999999999999999. Portanto, mesmo que o MySQL ofereça uma maneira de obter um decimal em um float PHP, você corre o risco de perder dados ao converter de um decimal para um float.

Para lidar com isso de forma limpa, você precisaria de algo como GMP , mas como você provavelmente pode adivinhar, o MySQL não pode fornecer isso para você automaticamente. Você precisará fazer isso manualmente em PHP.