[Python] Nombre flottant

Résolu/Fermé
zelos666 Messages postés 181 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 20 juillet 2010 - Modifié par zelos666 le 16/04/2010 à 21:31
zelos666 Messages postés 181 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 20 juillet 2010 - 20 avril 2010 à 14:20
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.
A voir également:

5 réponses

zelos666 Messages postés 181 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 20 juillet 2010 12
18 avril 2010 à 19:17
up
0
zelos666 Messages postés 181 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 20 juillet 2010 12
19 avril 2010 à 13:59
up
0
zelos666 Messages postés 181 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 20 juillet 2010 12
Modifié par zelos666 le 19/04/2010 à 14:20
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zelos666 Messages postés 181 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 20 juillet 2010 12
20 avril 2010 à 14:20
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