Dziwne zachowanie typu dziesiętnego dla ToString (IFormatProvider)
var numberFormat = new NumberFormatInfo();
numberFormat.NumberDecimalSeparator = ".";
numberFormat.NumberDecimalDigits = 2;
decimal a = 10.00M;
decimal b = 10M;
Console.WriteLine(a.ToString(numberFormat));
Console.WriteLine(b.ToString(numberFormat));
Console.WriteLine(a == b ? "True": "False");
W konsoli: 10,00 10 Prawda
Dlaczego jest inaczej? Co ważniejsze, jak wywołać ToString (), aby zapewnić to samo wyjście, niezależnie od tego, jak zmienna jest inicjowana?