Hi Iravanchi,

Thanks for taking the time to report this issue. This has already received quite a bit of discussion on the StackOverflow link you included. The difference in conversion of numbers that are the "same" comes from the differences in significant digits. Convert.ToDecimal(Double) only preserves 15 significant digits, so you'll get a different binary representation of the Decimal after it is converted back, since the Decimal type maintains significant digits. The two Decimals aren't actually the same when you look at the underlying representation.

In general, Double only guarantees 15 decimal digits of precision. The extra 1 in the least significant digits isn't something we will fix for .NET Framework 4.0. However, I'm going to keep this issue active so that we can look at it for our next release, and see if we can fix it earlier in the product cycle.

Thanks,

Melitta

Base Class Libraries

Microsofton 6/25/2010 at 10:59 AMBest Regards,

Mircea Trofin,

Microsoft.