En programmation, vous manipulez souvent différents types numériques : entiers (int), nombres à virgule flottante (float/double) ou décimaux précis (decimal). Savoir convertir correctement les nombres est essentiel pour éviter des erreurs, des pertes de précision ou des résultats inattendus.

1. Pourquoi convertir des types numériques ?

Vous recevez une valeur d’un type mais votre calcul nécessite un autre type.

Vous voulez préserver la précision d’un calcul.

Vous préparez une valeur pour l’affichage ou l’écriture dans un fichier.

Exemple simple :

a = 10     # int
b = 3.5    # float
c = a + b  # Python convertit automatiquement a en float
print(c)   # 13.5

2. Conversions courantes
2.1 Int → Float

Transformer un entier en nombre à virgule flottante.

Utile pour obtenir un résultat décimal lors d’une division.

x = 5       # int
y = float(x)
print(y)    # 5.0

2.2 Float → Int

Transforme un nombre décimal en entier en supprimant la partie fractionnaire (troncature).

Attention : arrondi automatique n’est pas effectué.

x = 3.9
y = int(x)
print(y)    # 3

Si vous voulez arrondir :

y = round(x)
print(y)    # 4

2.3 Decimal → Float / Int

Les types décimaux précis (Decimal en Python, BigDecimal en Java) peuvent être convertis en float ou int selon vos besoins.

from decimal import Decimal
a = Decimal('3.7')
b = int(a)     # 3
c = float(a)   # 3.7

2.4 Int → Decimal / BigDecimal

Pour calculs précis, convertissez un entier en type décimal avant les opérations.

from decimal import Decimal
a = 5
b = Decimal(a)  # Decimal('5')

3. Points importants à retenir

Perte de précision : float → int ou float → decimal peut arrondir ou tronquer.

Conversions automatiques : certains langages (Python, JavaScript) convertissent automatiquement les types dans les expressions mixtes.

Conversions explicites sont plus sûres pour éviter les surprises.

Calculs financiers : utilisez toujours des types précis (decimal/BigDecimal) avant de convertir en int ou float.