Les nombres décimaux en Python

Un nombre décimal est un nombre qui peut s'écrire avec un nombre fini de chiffres après la virgule.

Avec Python, on utilise un point (notation anglaise) pour séparer les décimales et non une virgule.

En anglais, on appelle ces nombres des 'floating point numbers' (float en raccourci).

Vous retrouverez donc également l'appellation de 'nombres flottants'.

Quelques exemples de nombres décimaux :

print(0.0)
print(10.2)
print(3.14159265359)
print(1938.23423)
print(-205.344)
print(-1.0)

Un nombre est considéré comme un nombre décimal même si les chiffres après le point sont des 0.

Ainsi, 0.0 est un nombre décimal.

Nous pouvons le vérifier avec la fonction isinstance :

print(isinstance(0.0, float))  # True
print(isinstance(0.0, int))    # False

Pour créer un nombre décimal on peut également utiliser la classe float :

a = float(5.0)
b = float(10.45)

La classe float est surtout utilisée pour convertir un objet en nombre décimal :

a_int = 5
a_float = float(a_int)
print(a_float)

Vous ne pouvez passer à la classe float que des nombres entiers, des chaînes de caractères qui contiennent des nombres et des booléens (qui sont un sous- type des nombres entiers).

Si vous essayez de convertir un autre type d'objet en nombre décimal, vous aurez une erreur :

# Conversions valides
print(float(5))
print(float(True))
print(float(False))
print(float("10.4"))

# Erreurs de type ValueError ou TypeError
print(float(None))
print(float("Bonjour"))
print(float([1, 2, 3]))