Bonjour,

Précision : je débute en JavaScript.
Soit le code JavaScript suivant (que j'exécute dans un interpréteur en-ligne http://math.chapman.edu/~jipsen/js/) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
var v1 = 0.2;
var v2 = 0.1;
writeln(v1*v2);
Le résultat est :
Soit le même code en C# (.NET) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
double d1 = 0.2;
double d2 = 0.1;
 
Console.WriteLine(d1 * d2);
Le résultat est :
Pourquoi le résultat est différent alors que j'ai cru comprendre que JavaScript codait les nombres réels en IEEE-754 sur 64 bits (comme .NET le fait avec le type "double") ?
Encore plus étrange : même en utilisant le type "float" (donc sur 32 bits) en C# le résultat est aussi 0.02.

Merci pour vos éclaircissements.

PurL