gpt4 book ai didi

c++ - 在 C++ 中存储货币值的最佳方式

转载 作者:太空宇宙 更新时间:2023-11-04 13:06:32 25 4
gpt4 key购买 nike

我知道由于舍入误差, float 不适合存储货币值。在 C++ 中有表示货币的标准方法吗?

我查看了 boost 库,但一无所获。在 Java 中,似乎 BigInteger 是正确的方法,但我在 C++ 中找不到等效的方法。我可以编写自己的 money 类,但如果有测试,我宁愿不这样做。

最佳答案

不要只将它存储为美分,因为在乘以税收和利息时会很快累积误差。至少,保留额外的两位有效数字:12.45 美元将存储为 124,500。如果您将其保存为带符号的 32 位整数,您将有 200,000 美元可以使用(正数或负数)。如果您需要更大的数字或更高的精度,带符号的 64 位整数可能会为您提供长时间所需的所有空间。

将此值包装在一个类中可能会有一些帮助,以便为您提供一个位置来创建这些值、对它们进行算术运算以及格式化它们以供显示。这也将为您提供一个中心位置,让您可以随身携带存储的货币(美元、加元、欧元等)。

关于c++ - 在 C++ 中存储货币值的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42030314/

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