recherche

Maison  >  Questions et réponses  >  le corps du texte

Plage de précision et arrondi de la virgule flottante MySQL

黄舟黄舟2829 Il y a quelques jours950

répondre à tous(3)je répondrai

  • 迷茫

    迷茫2017-05-18 10:53:23

    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

    répondre
    0
  • PHPz

    PHPz2017-05-18 10:53:23

    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...

    répondre
    0
  • 高洛峰

    高洛峰2017-05-18 10:53:23

    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🎜🎜 🎜

      répondre
      0
  • Annulerrépondre