C # Convertit l'objet en Decimal

Je suis en train de convertir un objet avec la valeur 0.39999999999999997 à une variable décimale sans perdre la précision.

object d = 0.39999999999999997;

J'ai essayé les méthodes suivantes.

decimal val1 = Convert.ToDecimal(d); //val1 = 0.4
object val2 = Convert.ChangeType(d, Type.GetType("System.Decimal")); //val2 = 0.4
decimal val3 = decimal.Parse(d.ToString()); //val3 = 0.4
decimal val4 = (Decimal) d; //val4 = 0.4

Je sais que ce n'est pas un problème avec le type de données décimal ne pas être en mesure de stocker cette valeur, comme illustré ci-dessous.

decimal val5 = 0.39999999999999997m; //val5 = 0.39999999999999997;

Comment puis-je convertir cet objet à la décimale sans perdre la précision?

Je suis en utilisant .NET Framework 3.5 si ce qui compte.

source d'informationauteur Chathura W