Plage de précision et arrondi de la virgule flottante MySQL
黄舟
黄舟 2017-05-18 10:51:23
0
3
902

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

répondre à tous(3)
迷茫

Parce que lorsque vous avez créé la table, vous avez spécifié f3 comme float(6,2), alors que signifient ces 6 et 2 ?
6 est le nombre total de chiffres. 2 signifie que seuls 2 chiffres sont conservés après la virgule. Il sera donc affiché sous la forme 9999,99, soit un total de 6 9, et il y a 2 chiffres après la virgule

PHPzhong

Il est recommandé d'utiliser le nombre décimal, surtout lorsqu'il s'agit de problèmes d'argent. Dans MySQL, float et double (ou réel) sont des nombres à virgule flottante, et décimal (ou numérique) est un nombre à virgule fixe.

L'avantage des nombres à virgule flottante par rapport aux nombres à virgule fixe est que lorsque la longueur est constante, les nombres à virgule flottante peuvent représenter une plage de données plus large ; leur inconvénient est qu'ils peuvent entraîner des problèmes de précision.

Dans les futures applications des nombres à virgule flottante et des nombres à virgule fixe, chacun devra retenir les points suivants :

1. Il y a un problème d'erreur dans les nombres à virgule flottante

;

2. Les données sensibles à la précision telles que les devises doivent être représentées ou stockées sous forme de nombres à virgule fixe

 ;

3. En programmation, si des nombres à virgule flottante sont utilisés, une attention particulière doit être portée aux problèmes d'erreur et essayer d'éviter les comparaisons à virgule flottante

 ;

4. Faites attention à la gestion de certaines valeurs spéciales dans les nombres à virgule flottante.
Vous pouvez jeter un œil à ceci http://blog.csdn.net/lingmao5...

小葫芦

float(m,d), m représente le nombre total de chiffres, d représente le nombre de chiffres à droite de la virgule décimalefloat(m,d) 中,m 代表总位数, d 代表小数点右边的位数

create table example3 (
    f1 float,
    f2 float(5,2),
    d1 double,
    d2 double(5,2)
);

insert into example3(f1, f2, d1, d2)
            values(3.141592657,3.141592657,3.141592657,3.141592657),
                  (3,3,3,3);

显示如下:

f1 f2 d1 d2
3.14159 3.14 3.141592657 3.14
3 3.00 3 3.00

解释:

  • 不指定 m,d :按照 float 与 double 的范围来取值

  • 指定 m,d : 按照 m,d rrreee

    Affiché comme suit :
  • f1 f2 d1 d2 3.14159 3.14 3.141592657 3.14 3 3,00 3 3,00
Explication :🎜
  • 🎜Ne précisez pas m,d : prenez la valeur en fonction de la plage de float et double🎜🎜
  • 🎜Spécifiez m,d : prenez-le en fonction de la valeur de m,d. S'il dépasse, il sera arrondi. S'il ne dépasse pas, il. sera complété par 0🎜🎜 🎜
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal