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

Python Discussion :

Variable nombre : arrondir à 5 chiffres après la virgule


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de micatmidog
    Profil pro
    Inscrit en
    Février 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Février 2004
    Messages : 94
    Par défaut Variable nombre : arrondir à 5 chiffres après la virgule
    Bonjour à tous,

    J'ai une variable nombre, très précise, puisque quand je fais

    Elle me sort 17 chiffres après la virgule...

    Mais j'aimerais l'arrondir à 5 chiffres après la virgule.

    Comment puis-je faire ceci ?

    Merci d'avance.

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 118
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print round(variable, 5)

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Par défaut
    Il y a aussi le module decimal (Python 2.4) qui peut être utile, surtout si tu veux afficher plusieurs nombres à virgule sans avoir à réécrire à chaque fois round(...)

  4. #4
    Membre confirmé Avatar de micatmidog
    Profil pro
    Inscrit en
    Février 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Février 2004
    Messages : 94
    Par défaut
    round ne fonctionne pas.

    J'ai finalement fait comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    variable = variable*100000
    variable = (int)(variable)
    variable_finale = ((float)(variable))/100000
    print "variable : "+str(variable_finale)

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 118
    Par défaut
    Comment çà "
    round ne fonctionne pas" ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> variable = 12.123456789
    >>> print round(variable, 5)
    12.12346
    >>>
    Avec ton calcul, il n'y a pas d'arrondi, or c'est ce que tu voulais à la base.

  6. #6
    Membre confirmé Avatar de micatmidog
    Profil pro
    Inscrit en
    Février 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Février 2004
    Messages : 94
    Par défaut
    Non, car ma variable finissait par

    ...00000006

    avec round, il y avait toujours 17 chiffres après la virgule, mais ça finissait par

    ...99999995

    :s

    Assez étrange...

  7. #7
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 118
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> a=123.1234567890000006
    >>> round(a,5)
    123.12345999999999
    >>>
    Effectivement, c'est pas au point cette fonction round ...
    Et avec Decimal tu as essayé?

  8. #8
    Expert confirmé
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Par défaut
    C'est normal, cela vient de la représentation des nombres floatants:
    http://docs.python.org/tut/node16.html ( ou le pdf en français accessible ici: http://python.developpez.com/cours/TutoVanRossum/ )
    Avec le module Decimal, ca devrait mieux fonctionner (puisqu'il est fait pour)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 10/05/2023, 20h21
  2. Représentation d'un nombre avec 'n' chiffres apres la virgule
    Par Contractofoued dans le forum MATLAB
    Réponses: 5
    Dernier message: 29/11/2007, 13h35
  3. calcule de PI avec nombre préci de chiffres aprés la virgule!
    Par do_key_120 dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 17/10/2007, 22h58
  4. Arrondir 2 chiffres après la virgule
    Par Martony74 dans le forum Langage
    Réponses: 1
    Dernier message: 07/06/2007, 22h17
  5. [variable]obetenir seulement 2 chiffres après la virgule
    Par nejisama8 dans le forum VBA Access
    Réponses: 1
    Dernier message: 23/05/2007, 17h32

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