IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Description of Objects in VPython

La division flottante

Par défaut, Python opère une troncature sur les divisions d'entier, si bien que 3/4 vaut 0 et non 0.75. Ceci est gênant pour des calculs scientifiques et peut conduire à des bogues dans le programme difficiles à trouver. Vous pouvez écrire 3./4. qui vaut 0.75 par les règles de divisions par "virgule flottante".

En démarrant Python 2.2, vous pouvez changer le traitement par défaut si bien que 3/4 est traité comme 0.75. Placez ceci au début de votre programme:


from __future__ import division

 

Il y a deux undescores ("_" et "_") avant "future" et deux après.

Le module Visual fait pour vous la conversion des entiers en nombres à virgule flottante lorsque vous donnez des valeurs aux attributs d'objets:

    object.pos = (1,2,3) est équivalent à object.pos = (1.,2.,3.)

Dans les versions de Python antérieures à la version 2.2, une erreur apparaît lorsqu'on élève un entier à une puissance négative, comme dans 10**-2r. Pour éviter ce problème, utilisez 10. (un nombre à virgule flottante) et écrivez l'expression comme 10.**-2 pour obtenir le résultat souhaité (0.01 dans ce cas). Ceci n'est plus un problème dans Python 2.2 et les versions ultérieures.



Copyright © 2006 Guillaume et Yoann Duriaud. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.