[Python] Nombre flottant

Résolu
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. 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.
    1. 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
      1. 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.