Mysql
 sql >> Base de données >  >> RDS >> Mysql

Champs décimaux MySQL renvoyés sous forme de chaînes en PHP

J'en doute fortement. Les décimales utilisent des mathématiques à virgule fixe, et il n'y a pas de type de données en PHP qui puisse fournir cela. Les flottants se rapprochent, mais ils sont en fait arrondis, ce qui signifie que l'attribution de 2 à un flottant pourrait donner 1,99999999999999999 à la place. Ainsi, même si MySQL offre un moyen d'obtenir un nombre décimal dans un flottant PHP, vous risquez de perdre des données en passant d'un nombre décimal à un nombre flottant.

Pour gérer cela proprement, vous auriez besoin de quelque chose comme GMP , mais comme vous pouvez probablement le deviner, MySQL ne peut pas vous le fournir automatiquement. Vous devrez le faire manuellement en PHP.