gpt4 book ai didi

c# - 如何在调试器或控制台中输出所有小数位的 double 值

转载 作者:行者123 更新时间:2023-11-30 16:31:42 24 4
gpt4 key购买 nike

我希望在调试应用程序时完全提取 double 值,以便我可以使用它来构建测试用例以馈入我的几何算法。

如何提取 double 值——直到 C# 中的 double 数据类型允许的最后一位小数——并将其输出到调试器窗口,或者使用 Console.WriteLine 命令?

编辑:我的问题是,只有当我坚持输入整个 double 值(一直到最后一位)时,采用 double 值作为输入的算法才会失败。由于我想在测试用例中重现它,这就是为什么我需要 double 值的完整表示。

最佳答案

我有一个 DoubleConverter class听上去正是您想要的。像这样使用它:

string text = DoubleConverter.ToExactString(doubleValue);

您需要确保您明白,仅仅因为输出有大量数字,并不意味着它有那么多精度。您可能想阅读我关于 binary floating point in .NET 的文章了解更多信息 - 或者您当然可以从一开始就了解所有这些内容。

请注意,如果您只需要一个可以往返的字符串值,则不需要任何额外的代码 - 只需使用“r”格式说明符:

string text = doubleValue.ToString("r");

我同意 Jackson Pope 在测试的相等比较中使用公差的一般方法,但我确实发现有时查看由 double 表示的确切值很有用。它可以更容易地理解为什么特定计算会以这种或那种方式出现。

关于c# - 如何在调试器或控制台中输出所有小数位的 double 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4732680/

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