Titre RNCP Niveau 7

Maîtrisez pipelines, cloud & IA pour devenir Data Engineer opérationnel.

Devenez Data Engineer

DataScientist.fr

Formations

L'équipeLa plateforme
Offre entreprises

🇫🇷

Comment formater les nombres à virgule flottante avec des f-strings ? Tutoriel Python interactif
Python

Comment formater les nombres à virgule flottante avec des f-strings ? Tutoriel Python interactif

Romain DE LA SOUCHÈRE

Lead Developer, Expert Cloud et DevOps

Publié le 2 janvier 2025 · 12 min de lecture

Dans le monde du développement logiciel, le formatage des nombres à virgule flottante est une compétence essentielle pour produire des applications précises et conviviales. Que ce soit pour ajuster la largeur des chaînes, maîtriser la notation scientifique ou garantir une représentation cohérente des nombres complexes, ces techniques sont incontournables. Cet article vous guide à travers les subtilités du formatage avec les f-strings, pour que vous puissiez créer des sorties numériques irréprochables, tout en contournant les pièges des approximations dues aux limites des nombres flottants. Plongeons ensemble dans cet univers fascinant et technique.

Comment formater et arrondir un nombre à virgule flottante dans un f-string

Pour formater et arrondir un nombre à virgule flottante dans un f-string en Python, vous pouvez tirer parti de la flexibilité et de la simplicité des f-strings pour améliorer la lisibilité et la précision de votre code. Voici comment procéder :

Utilisation de f-strings pour le formatage

Les f-strings, introduits dans Python 3.6, permettent d'intégrer des expressions Python directement dans des chaînes de caractères en utilisant la syntaxe {}. Pour formater un nombre à virgule flottante, vous pouvez spécifier le nombre de décimales désiré après le caractère : dans les accolades.
python
Dans cet exemple, .2f indique que le nombre doit être formaté en un nombre à virgule flottante avec deux décimales.

Arrondir à un nombre spécifique de décimales

Parfois, vous aurez besoin de contrôler l'arrondi des nombres à virgule flottante. Le format .nfn est un entier, vous permet de spécifier exactement combien de décimales vous souhaitez afficher, en arrondissant le chiffre supplémentaire si nécessaire.
python

Formatage avec des séparateurs de milliers

Pour améliorer la lisibilité des grands nombres, vous pouvez également utiliser des séparateurs de milliers. Les f-strings permettent cela en ajoutant une virgule avant le spécificateur de formatage.
python

Formatage scientifique

Les f-strings prennent également en charge le formatage scientifique, ce qui est utile pour les très grands ou très petits nombres. Utilisez e ou E pour représenter les nombres en notation scientifique.
python

Utilisation d'espaces pour l'alignement

Pour les cas où vous souhaitez aligner vos sorties, par exemple dans des tableaux ou rapports, vous pouvez spécifier une largeur minimale pour le champ. Cela ajoute des espaces pour remplir la chaîne si nécessaire.
python
En résumé, les f-strings offrent une méthode concise et puissante pour formater et arrondir les nombres à virgule flottante en Python, facilitant ainsi la gestion des sorties numériques dans vos applications.

Personnaliser la largeur de vos chaînes formatées

Personnaliser la largeur de vos chaînes formatées est une fonctionnalité essentielle pour améliorer la présentation et l'organisation des données, surtout lorsque vous travaillez avec des sorties alignées ou des colonnes dans des tableaux. Les f-strings de Python offrent des outils pour ajuster la largeur de vos chaînes aisément.

Définir une largeur minimale

Pour définir une largeur minimale pour une chaîne formatée, spécifiez un nombre après le caractère : dans les accolades. Cela garantit que la sortie occupe au moins cet espace, remplissant avec des espaces si nécessaire.
python
Dans cet exemple, la largeur minimale est de 5 caractères. Si le nombre formaté est plus court, des espaces sont ajoutés à gauche.

Alignement du texte

Vous pouvez contrôler l'alignement du texte dans l'espace spécifié. Utilisez <, >, ou ^ pour aligner respectivement à gauche, à droite, ou au centre.
python

Remplissage personnalisé

Par défaut, l'espace utilisé pour atteindre la largeur minimale est rempli avec des espaces. Vous pouvez personnaliser ce caractère de remplissage en l'indiquant juste après le :.
python

Applications pratiques

Ces techniques sont particulièrement utiles lors de la génération de rapports ou d'affichages en console où une présentation soignée est cruciale. Par exemple, dans l'affichage de données tabulaires où chaque colonne doit être bien alignée pour une meilleure lisibilité.
python
Ce script produit une sortie alignée, facilitant la comparaison des scores.
En maîtrisant ces techniques de formatage, vous pouvez adapter vos sorties Python pour qu'elles soient non seulement informatives, mais aussi esthétiquement agréables et faciles à lire.

Contrôler le placement des signes des nombres

Contrôler le placement des signes des nombres est une fonctionnalité importante lorsque vous formatez des nombres en Python, notamment pour assurer la clarté des données financières ou scientifiques. Les f-strings offrent des options flexibles pour gérer les signes + et - lors du formatage des nombres.

Afficher explicitement les signes

Par défaut, Python n'affiche pas le signe + pour les nombres positifs, mais uniquement le - pour les négatifs. Pour forcer l'affichage du signe +, utilisez le spécificateur + dans votre f-string.
python
Cette méthode est utile lorsque vous souhaitez que tous les nombres apparaissent avec leur signe respectif, par exemple dans des contextes financiers.

Espaces pour les signes

Si vous préférez un espace à la place du signe pour les nombres positifs, utilisez le spécificateur de formatage (espace). Cela peut améliorer la lisibilité en alignant les chiffres pour les calculs ou les comparaisons.
python
L'usage de l'espace permet de conserver un alignement cohérent, tout en différenciant les nombres positifs et négatifs.

Application dans des tableaux

Le contrôle des signes est particulièrement pertinent dans les tableaux de données où une présentation uniforme est cruciale. Assurez-vous que tous les nombres sont formatés de manière cohérente pour éviter toute confusion.
python
Ce code aligne les nombres en une colonne uniforme tout en affichant explicitement les signes, ce qui est essentiel pour une interprétation correcte des données.
En adoptant ces méthodes, vous pouvez maîtriser l'affichage des signes dans vos sorties Python, garantissant ainsi une communication claire et précise de vos données numériques.

Arrondir la notation scientifique et les nombres complexes

L'utilisation de la notation scientifique et la manipulation des nombres complexes peuvent être essentielles dans divers domaines scientifiques et financiers. Python, avec ses f-strings, facilite l'arrondissement et le formatage de ces types de données.

Notation scientifique

La notation scientifique est couramment utilisée pour représenter de très grands ou de très petits nombres. Avec les f-strings, vous pouvez contrôler l'affichage et l'arrondissement de ces nombres en utilisant le spécificateur e ou E.
python
Dans cet exemple, .3e signifie que nous voulons arrondir le nombre à trois chiffres significatifs après la virgule.

Arrondir les nombres complexes

Les nombres complexes, constitués d'une partie réelle et d'une partie imaginaire, sont souvent utilisés en ingénierie et en physique. Les f-strings permettent de formater chaque partie séparément.
python
Ici, nous arrondissons chaque partie du nombre complexe à deux décimales, ce qui peut être crucial pour des calculs précis et une présentation claire.

Applications pratiques

Ces techniques sont particulièrement utiles dans les applications scientifiques où la précision et la lisibilité sont essentielles. Par exemple, lors de la présentation de résultats expérimentaux ou de modélisation dans des documents ou rapports.
python
Ce script montre comment gérer et formater à la fois la notation scientifique et les nombres complexes dans un ensemble de données mixte.
En maîtrisant ces méthodes, vous pouvez efficacement gérer et présenter des données complexes et scientifiques dans vos projets Python, assurant à la fois précision et clarté.

Utiliser des objets decimal pour atténuer les inexactitudes des nombres flottants

Les nombres à virgule flottante en Python peuvent parfois présenter des inexactitudes en raison de la manière dont ils sont représentés en binaire. Pour atténuer ces inexactitudes, l'utilisation du module decimal est souvent recommandée. Ce module fournit une classe Decimal qui permet de réaliser des calculs avec une précision arbitraire.

Création d'objets Decimal

Pour commencer à utiliser Decimal, vous devez d'abord importer le module decimal. Ensuite, vous pouvez créer des objets Decimal à partir de nombres ou de chaînes de caractères.
python
En utilisant Decimal, vous obtenez un résultat précis de 0.3, contrairement au résultat approximatif obtenu avec des flottants.

Contrôle de la précision

Une des grandes forces de Decimal est la possibilité de contrôler la précision des calculs. Vous pouvez définir un contexte de calcul global ou temporaire qui spécifie le nombre de chiffres significatifs.
python
Dans cet exemple, la précision est fixée à six chiffres significatifs, ce qui influence le résultat final.

Comparaison avec les flottants

L'utilisation de Decimal est particulièrement bénéfique dans les applications financières où la précision est cruciale. Contrairement aux flottants, Decimal garantit que les calculs monétaires sont exacts.
python
Cette comparaison montre que Decimal préserve l'exactitude des calculs monétaires, évitant les erreurs d'arrondi fréquentes avec les flottants.
L'adoption d'objets Decimal dans vos programmes Python vous permet de gérer les calculs numériques avec une précision accrue, réduisant ainsi les risques d'erreurs dans les applications où la précision est essentielle.

Formater les chaînes d'autres manières

En plus de formater les nombres, Python offre de nombreuses façons de formater les chaînes de caractères, ce qui peut rendre votre code plus lisible et vos sorties plus esthétiques. Les f-strings, avec leur flexibilité, jouent un rôle clé dans cette tâche.

Manipuler la casse des chaînes

Changer la casse d'une chaîne est une opération courante. Vous pouvez utiliser les méthodes intégrées des chaînes pour cela.
python
Ces méthodes permettent de normaliser la présentation du texte, ce qui est utile pour l'affichage de titres ou de noms.

Troncature de chaînes

Parfois, il est nécessaire de tronquer une chaîne pour s'assurer qu'elle s'intègre dans un espace limité. Les f-strings permettent cela en spécifiant une largeur maximale.
python
La troncature est particulièrement utile dans les interfaces utilisateurs où l'espace est limité.

Remplissage et alignement

Les f-strings offrent des options pour aligner et remplir les chaînes, ce qui est utile pour formater des sorties tabulaires.
python
En utilisant < ou >, vous pouvez aligner le texte à gauche ou à droite, ajoutant des espaces pour atteindre la largeur spécifiée.

Formatage conditionnel

Avec les f-strings, vous pouvez également implémenter des formats conditionnels, ce qui est utile pour afficher des messages dynamiques.
python
Le formatage conditionnel vous permet d'adapter vos sorties à différentes situations, rendant votre code plus dynamique et interactif.
Grâce à ces techniques, vous pouvez formater vos chaînes de manière flexible et créative, améliorant ainsi la qualité et la clarté de vos sorties Python.

Formater les nombres pour une utilisation internationale

Formater les nombres pour une utilisation internationale peut être un défi en raison des diverses conventions de numérotation et de devise dans le monde. Python offre des outils puissants pour gérer ces variations, assurant que vos applications soient adaptées à un public global.

Utilisation du module locale

Le module locale de Python est conçu pour faciliter le formatage des nombres en fonction des conventions locales. Il permet d'afficher les nombres avec le bon séparateur de milliers et de décimales, selon la région spécifiée.
python
En configurant la locale sur fr_FR.UTF-8, les séparateurs sont ajustés pour correspondre au standard français.

Formatage des devises

Pour les applications financières, il est crucial de formater les devises correctement. Le module locale peut également être utilisé pour cela.
python
Cette méthode garantit que les symboles monétaires et les formats numériques s'alignent sur les attentes culturelles de l'utilisateur.

Considérations supplémentaires

Il est important de vérifier la disponibilité des locales sur votre système, car certaines locales peuvent ne pas être installées par défaut. Utilisez la commande suivante pour lister les locales disponibles :
textile

Gérer les formats de date et heure

Bien que centré sur les nombres, le module locale peut également formater les dates et heures selon les conventions locales, ce qui est souvent nécessaire dans les applications qui nécessitent une internationalisation complète.
python
En maîtrisant le formatage des nombres pour une utilisation internationale, vous pouvez créer des applications Python qui communiquent efficacement avec des utilisateurs du monde entier, en respectant leurs préférences culturelles.

Conclusion

En somme, le formatage des nombres et des chaînes en Python, avec l'utilisation des f-strings et des outils tels que les objets Decimal et le module locale, offre une flexibilité incroyable pour répondre à divers besoins de programmation. Ces techniques vous permettent non seulement de présenter des données de manière claire et précise, mais aussi de vous adapter aux exigences multiculturelles et multilingues des utilisateurs internationaux.

Récapitulatif des techniques de formatage

Nous avons exploré comment les f-strings facilitent le formatage et l'arrondissement des nombres à virgule flottante, et comment ils permettent de personnaliser la largeur et l'alignement des chaînes. Ces fonctionnalités sont essentielles pour produire des sorties soignées et alignées, adaptées à des contextes variés tels que les rapports financiers ou scientifiques.
L'utilisation des objets Decimal est particulièrement avantageuse lorsque la précision est cruciale, évitant les erreurs d'arrondi associées aux flottants. Cela est particulièrement pertinent dans les applications financières où chaque centime compte.

Importance du formatage international

Adapter vos applications pour une utilisation internationale n'est plus une option mais une nécessité dans le monde globalisé d'aujourd'hui. Grâce au module locale, Python permet de formater les nombres et les devises selon les conventions locales, assurant ainsi que votre application est culturellement pertinente pour les utilisateurs du monde entier.

Implications pour les développeurs

Pour les développeurs, maîtriser ces techniques de formatage signifie non seulement améliorer l'esthétique et la lisibilité des sorties de votre programme, mais aussi garantir l'exactitude des données présentées. Cela conduit à une meilleure expérience utilisateur et à une plus grande confiance dans les résultats fournis par vos applications.
En conclusion, que vous soyez en train de développer une application simple ou un système complexe destiné à un marché international, les compétences en formatage de Python vous permettront de fournir des solutions robustes et adaptées aux besoins de vos utilisateurs. En continuant à explorer et à maîtriser ces outils, vous serez bien équipé pour relever les défis de la programmation moderne, tout en assurant une présentation claire et précise des informations.

Partager avec

💙 Merci d'avoir parcouru l'article jusqu'à la fin !

Romain DE LA SOUCHÈRE

Romain DE LA SOUCHÈRE - Lead Developer, Expert Cloud et DevOps

Ingénieur de formation avec plus de 11 ans d'expérience dans le développement back-end et le data engineering. Expert dans l’industrialisation des projets data dans le cloud.

» En savoir plus

Formations associés

Toutes nos formations

Préparez la certification PL‑300
Préparez la certification PL‑300
24 heures
Débutant
Garantie
Préparez la certification AZ-900
Préparez la certification AZ-900
10 heures
Débutant
Garantie
Préparez la certification DP‑700
Préparez la certification DP‑700
24 heures
Débutant
Garantie
Préparez la certification DP‑900
Préparez la certification DP‑900
10 heures
Débutant
Garantie

DataScientist.fr

By AXI Technologies

128 Rue de la Boétie,
75008, Paris, France

bonjour@datascientist.fr

+33 1 70 39 08 31

+33 6 86 99 34 78

© 2026 DataScientist.fr - AXI Technologies - Tous droits réservés