Поведение нечетного десятичного типа для 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");
В консоли: 10.00 10 True
Почему это отличается? Что более важно, как я вызываю ToString () для обеспечения одинакового вывода независимо от того, как инициализируется переменная?