48 votes

Différence entre float(2,2) et float() dans mysql

J’ai créé une table dans MySQL avec une colonne de type float(2,2) et inséré la valeur 10 dans celle-ci, mais j’ai trouvé que la valeur stockée est 0.99.

Quelle en est la raison ? Si nous utilisons une colonne de type float(m, n) dans MySQL où 'm' et 'n' sont des entiers, alors à quoi dois-je faire attention lorsque je stocke des valeurs dans cette colonne ?

18voto

Francis Points 171

MySQL permet une syntaxe non standard : FLOAT(M,D) ou REAL(M,D) ou DOUBLE PRECISION(M,D). Ici, « (M,D) » signifie que les valeurs peuvent être stockées avec jusqu’à M chiffres au total, dont les chiffres D peuvent être après la virgule décimale.

4voto

Madushanka kahawa Points 345

Dans MySql, il existe des types de données comme FLOAT(M,D). Où D est le nombre de décimales et M est le nombre total de chiffres (y compris décimales). La précision décimale peut aller à 24 places pour un FLOAT et M de 1 à 65. Si la syntaxe est FLOAT(2,2), alors il n’y a que deux décimales et aucune place au nombre réel. Vous voulez donc en ajouter 10 que vous pouvez utiliser comme FLOAT(5,2).

3voto

firefly Points 71

float(M,D) ceci en gardant à l’esprit ici M=max. non. du chiffre autorisé (plage de 1 à 65), D=no. de chiffres après la virgule. si cany vous le changez float(5,2). donc float(2,2) ne satisfait pas votre besoin d’entrer le n°10

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X