Formatage des flottants en python
Bonjour,
avant de développer une fonction (sans doute pas très compliquée) je me demande s'il n'y a pas une solution plus immédiate pour en python, afficher un flottant avec un nombre de décimales fixé dans une variable ;
Quelqu’un a-t-il déjà été confronté à cette contrainte ?
Cordialement.
avant de développer une fonction (sans doute pas très compliquée) je me demande s'il n'y a pas une solution plus immédiate pour en python, afficher un flottant avec un nombre de décimales fixé dans une variable ;
Quelqu’un a-t-il déjà été confronté à cette contrainte ?
Cordialement.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
-- Schnoebelen, Philippe
Je pense qu'une fonction recevant le flottant et le nombre de décimales à afficher n'est pas très compliquée (avec floor()) par exemple .
-- Schnoebelen, Philippe
Merci nicolas.patrois pour ces réponses rapides et pertinentes .
-- Schnoebelen, Philippe
Mais elle donne exactement ce que je souhaitais .
Encore un grand merci car j'ai beaucoup cherché sans trouver .
Voila mon test :
[Python en italique ne vaut rien. Il faut la bannière code pour préserver les indentations. AD]
qui affiche :
Concernant l'autre syntaxe, elle utilise des «champs de remplacement emboîtés», c'est expliqué très laconiquement dans la doc officielle, le paragraphe commençant par "A format_spec field can also include nested replacement fields within it."
Pour alléger la syntaxe format, il est plus agréable d'utiliser des chaînes littérales formatées (Python 3.6 au moins) :
mais à mon goût, la syntaxe classique * est ici plus lisible.
La doc officielle actuelle ne considère pas la première syntaxe comme obsolète. Les premières versions de Python 3 ont tenté de la rendre explicitement telle mais cette mention a été retirée dans la doc des versions ultérieures de Python. Voir aussi des discussions sur stackOverflow.
print_float (val , precision)
Merci en tout cas pour toutes ces informations
"'%.266f' % x sortira 266 chiffres après la virgule. Mais Python fait les calculs sur la base
des représentations internes (soit des représentations binaires des nombres) à 52 digits.
Il y a des tutoriels si on développe dans ce langage plutôt en VOEN mais aussi en VOFR .
qui affiche :
On peut faire un formatage analogue avec le module (non standard) bigfloat.