科学记数法 - .NET中的错误?

sak*_*aku 2 .net c# scientific-notation

是的,我知道很难相信 - .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.

第一个和最后一个解析的值完全相同.在针对.NET 3.5和4编译的两台不同的x64机器上进行了测试.

知道发生了什么事吗?任何解决方法?

Bug*_*der 24

第一个和第三个不完全相同.

在第3个你有一个"更长"的标志,因此它不知道如何处理它.因此,您需要检查并用标准减号替换它

  • Crikey,你的名字很好,BugFinder :-)好赶上! (3认同)