sql >> Base de Datos >  >> RDS >> Mysql

Campos decimales de MySQL devueltos como cadenas en PHP

Lo dudo mucho. Los decimales usan matemáticas de punto fijo, y no hay ningún tipo de datos en PHP que pueda proporcionar esto. Los flotantes se acercan, pero de hecho están redondeados, lo que significa que asignar 2 a un flotante podría dar como resultado 1,99999999999999999. Entonces, incluso si MySQL ofrece una forma de convertir un decimal en un flotante de PHP, corre el riesgo de perder datos al convertir un decimal en un flotante.

Para manejar esto limpiamente, necesitaría algo como GMP , pero como probablemente pueda adivinar, MySQL no puede proporcionarle eso automáticamente. Deberá hacerlo manualmente en PHP.