IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MySQL Discussion :

Comment bien saisir des chiffres avec virgules ?


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 202
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 202
    Par défaut Comment bien saisir des chiffres avec virgules ?
    Bonjour,

    Je constate une incohérence.
    Nom : Screenshot 2025-10-05 at 11.19.59.png
Affichages : 123
Taille : 16,8 Ko

    Cela concerne des saisies de ce genre:
    • 42.365457 => ou quatres chiffres après la virgule sont nécessaire
    • 432 => Les chiffres après la virgule ne sont pas nécessaire ou proscrit
    • 132.43 => ou 1 ou 2 chiffre après la virgule sont suffisentes


    Dans l'image, je ne comprends pas pourquoi il est utilisé un float() et un dec(). A noter que pour sensor_alt, les chiffres après la virgule ne sont pas nécessaire.

    Quelle est la différence entre float(8,6) et dec(6,2)? Dans les deux cas, ca accepte 123.54, non?
    Aussi, est-ce que 8,6 n'est pas eccessif?? Si je veux au maximum 3 chiffre avant la virgule et 6 après la virgule, la syntaxe correct ne serait pas dec(3,6)?

    Merci

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 202
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 202
    Par défaut
    Je crois qu'en fait, si je veux saisir le chiffre 999,99, je dois définir le champs comme ceci dec(5,2), pour les décimals

  3. #3
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 359
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 359
    Billets dans le blog
    17
    Par défaut
    42.365457 => ou quatres chiffres après la virgule sont nécessaire
    432 => Les chiffres après la virgule ne sont pas nécessaire ou proscrit
    132.43 => ou 1 ou 2 chiffre après la virgule sont suffisentes
    Tu as besoin de 3 chiffres pour la partie entière et de 6 chiffres pour la partie décimale, ce qui donne :

    DECIMAL (9, 6)

    https://dev.mysql.com/doc/refman/8.4...teristics.html

    La notation DOUBLE (M, D) est dépréciée et est à éviter.
    https://dev.mysql.com/doc/refman/8.4...int-types.html
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 691
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par pierrot10 Voir le message
    Quelle est la différence entre float(8,6) et dec(6,2)? Dans les deux cas, ca accepte 123.54, non?
    Le type FLOAT est à utiliser pour les grandes valeurs dont la précision décimale n'est pas requise : le résultat - pour la partie décimale - est approximatif.
    Le type DECIMAL est à utiliser pour tous les autres cas, par exemple, en comptabilité, on utilisera le type DECIMAL, car il n'est pas question de perdre en précision sur les montants (aux problèmes d'arrondis de TVA près )

  5. #5
    Membre Expert
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    988
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 988
    Par défaut
    Citation Envoyé par pierrot10 Voir le message
    Quelle est la différence entre float(8,6) et dec(6,2)?
    La différence principale réside dans la transcription de la valeur en code binaire.
    La dé-codification du binaire pour en afficher la valeur n'est pas la même en fonction du type FLOAT ou DECIMAL.
    Voir ici : https://leria-info.univ-angers.fr/~j..._flottants.php

    Je rejoins tout à fait Escartefigue pour ce qui est de l'utilisation, même si je préfère dire qu'il faut réserver les FLOATS aux calculs scientifiques qui sont associés avec le calcul de l’imprécision ; sinon, choisir un autre type de données.
    Le savoir est une nourriture qui exige des efforts.

Discussions similaires

  1. Comment vérifier qu'un textbox contient bien que des chiffres..
    Par thomasmrl dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 22/05/2013, 23h56
  2. [XL-2003] utiliser des chiffres a virgules avec une inputbox
    Par bosk1000 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 16/06/2011, 09h56
  3. comment saisir des données avec shell
    Par kris1 dans le forum Linux
    Réponses: 2
    Dernier message: 07/12/2007, 13h07
  4. Lire des chiffres avec les virgules
    Par stiko dans le forum C++
    Réponses: 4
    Dernier message: 20/07/2006, 00h04
  5. Comment bien gerer la mémoire avec les TStringList?
    Par david_chardonnet dans le forum Langage
    Réponses: 5
    Dernier message: 18/06/2003, 10h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo