[Python] Nombre flottant

Résolu
zelos666 Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   -  
zelos666 Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Dans un programme je dois utiliser des nombres flottants (float) mais lorsque je veux vérifier si le nombre est en float, c'est-à-dire, en le faisant afficher, il m'affiche toujours 0. Le nombre ne va jamais dépasser 1, mais lorsque je fait moi-même les calculs, il serait supposé afficher par exemple 0.18.

                   while x<3: 
                            fInt = 0.0 
                            fInt2 = 0.0 
                            fInt = float(intList[x]) #Liste en int, donc conversion en float 
                            fInt2 = float(intList2[x]) #Liste en int, donc conversion en float 

                            try: 
                                intList3[x] = (fInt2-fInt)/(fInt2+fInt) 

                            except ZeroDivisionError: 
                                intList3[x] = 0.1 

                            finally: 
                                x = x + 1 
                                    str1 = QtCore.QString.number(intList3[x]) 
                                    str2.append(str1 + " - ") 

                   self.txtNom.setText(str2) 


Est-ce que la conversion viens du fait que je le convertit en string pour l'affichage?
Google is your friend.
Wiki is your brain.

5 réponses

  1. zelos666 Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   12
     
    up
    0
  2. zelos666 Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   12
     
    up
    0
  3. zelos666 Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   12
     
    J'ai trouvé pourquoi il ne conservait pas le float.

    Pour ceux que sa intéresse, pour forcer une variable à être flottante, on ne doit pas la faire égalé à 0.0, mais bien à 0.1. Et s'il y a plus d'un chiffre après la virgule, pour que ca fonctionne j'ai fait maVariable = 0.001.

    Voilà ce qui m'affiche maintenant : 0.18987822476518396

    Merci quand même. :)
    Google is your friend.
    Wiki is your brain.
    0
  4. 6ril
     
    Je comprends pas trop car si tu initialises une variable à 0,0 et que t'ajoutes un int, il reste considéré comme un float

    ex:
    >>> a = 0.0
    >>> a = a + 4
    >>> a
    4.0
    >>> b = b/3
    >>> b
    0.33333333333333331

    mais j'ai peut être mal compris ton problème
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. zelos666 Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   12
     
    Je sais mais moi sa faisait:

    >>> a=0.0
    >>> a=a+4
    >>> a
    4

    Comme je l'ai dit, peut-être que sa marchait, mais en faisant la conversion de float en string pour l'affichage dans une LineEdit, il arrondissait.
    0