Да, я знаю, в это трудно поверить - ошибка в .NET?Но запустите этот код в приложении командной строки:
decimal x;
x = decimal.Parse("3.E-2", NumberStyles.Float);
Console.WriteLine(x);
x = decimal.Parse("5.72e9", NumberStyles.Float);
Console.WriteLine(x);
x = decimal.Parse("3.E−2", NumberStyles.Float);
Console.WriteLine(x);
Я получаю исключение во время последнего анализа.Говоря:
System.FormatException : Input string was not in a correct format.
Значения для первого и последнего разбора в точности совпадают.Протестировано на двух разных машинах x64, скомпилированных для .NET 3.5 и 4.
Есть идеи, что происходит?Любой обходной путь?