gpt4 book ai didi

c# - ToString 在 .NET 462 和 .NET Core 3.1 之间具有不同的行为

转载 作者:行者123 更新时间:2023-12-05 06:09:12 24 4
gpt4 key购买 nike

<分区>

我正在从 .NET Framework 4.6.2 迁移应用程序至 .NET Core 3.1我的单元测试在一个我没有预料到的地方失败了。

经过一些计算,我得到了 double有 16 位数字。根据调试器,无论我是否运行 .NET462,我都得到了完全相同的值。或 .NETCore31代码。当我“序列化”这个值时,就会出现差异。在.NETCore31版本,最后一位丢失:

举个例子:

.NET

4.0584789241077042.ToString("R", CultureInfo.InvariantCulture)
// "4.0584789241077042" (the exact same number)

.NET Core

4.0584789241077042.ToString("R", CultureInfo.InvariantCulture);
// "4.058478924107704" (the last digit is gone)

这实际上不是问题,我的计算不需要这么精确,但是有人知道为什么我会得到两个不同的结果吗?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com