Lorsqu'on dispose d'une valeur entière par exemple 2, et que l'on veut convertir cette valeur en une valeur réelle, c'est-à-dire 2.0
, il faut utiliser la fonction float_of_int
, traduire "réel à partir d'un entier"
.
La fonction float_of_int
convertit un entier en le réel correspondant.
Par exemple :
let x = 2 in print_int x; print_newline(); let y = float_of_int x in print_float y;
Pour convertir un réel en un entier, c'est un peu plus délicat, car le réel ne tombe par forcément pile sur un entier. On dispose de la fonction int_of_float
, traduction : "entier à partir d'un réel"
, qui se contente d'effacer tous les chiffres après la virgule du nombre réel. Ainsi :
int_of_float 4.2 = 4 int_of_float 4.9 = 4 int_of_float (-4.2) = -4 int_of_float (-4.9) = -4
Exemple de programme :
let y = 4.2 in let x = int_of_float y in print_int x;
affiche 4
.
Attention : la fonction int_of_float
n'est pas la fonction mathématique partie entière. Cela à cause de sa façon de traiter les nombres négatifs. Par exemple la partie entière de -4.2
est -5
et non pas -4
. Si vous avez besoin de calculer la vraie partie entière d'un réelle x
, faîtes : (int_of_float (floor x))
. En bref, floor x
représente le plus grand réel inférieur à x
qui n'ait que des zéros après la virgule.