gpt4 book ai didi

.net - 在 .net 中,如何在十进制和 double 之间进行选择

转载 作者:行者123 更新时间:2023-12-03 13:18:28 26 4
gpt4 key购买 nike

前几天我们在工作中讨论了这个问题,我希望有一个 Stackoverflow 问题我会指出人们,所以就这样吧。)

  • Double Decimal 有什么区别?
  • 什么时候(在什么情况下)你应该 总是 使用 Double
  • 什么时候(在什么情况下)你应该 总是 使用 Decimal
  • 在不属于上述两个阵营之一的情况下,考虑 的 驱动因素是什么?

  • 有很多问题与这个问题重叠,但他们往往会问某人在特定情况下应该做什么,而不是在一般情况下如何决定。

    最佳答案

    我通常会考虑自然量与人工量。

    自然量是诸如体重、高度和时间之类的东西。这些永远不会绝对准确地测量,并且很少有绝对精确的算术概念:您通常不应该将高度相加,然后确保结果完全符合预期。使用double对于这种数量。 double 的范围很大,但精度有限;他们也非常快。

    占主导地位的人造数量是货币。有“正好 10.52 美元”这样的东西,如果你加上 48 美分,你预计正好有 11 美元。使用decimal对于这种数量。理由:考虑到一开始是人为的,所涉及的数字也是人为的,旨在满足人类的需求——这意味着它们自然地以 10 为基数表示。使存储表示与人类表示相匹配。 decimal没有 double 的范围,但大多数人工量也不需要那个额外的范围。它也比 double 慢,但我个人有一个银行账户,它给我的正确答案比错误答案快:)

    更多信息,我有文章 .NET binary floating point types.NET decimal type . (请注意 decimal 也是浮点类型 - 但有问题的“点”是小数点,而不是二进制点。)

    关于.net - 在 .net 中,如何在十进制和 double 之间进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2545567/

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