将我的项目从 .NET Framework 4.8 升级到 .NET 6 后,代码有时会生成错误的双精度数
这是简单乘法的和结果值
预期的行为当然是 tmpBetrag 精确等于“35,4”。
它发生在我的代码中的多个地方,但现在总是如此。
这种行为的根源是什么?
提前致谢
.NET Core 3.0 中的浮点解析和格式化改进,
您可以通过指定格式来解决此问题,例如:
Console.WriteLine(d.ToString("G15"));