gpt4 book ai didi

mysql - MySQL 中货币汇率的理想数据类型

转载 作者:可可西里 更新时间:2023-11-01 08:29:33 24 4
gpt4 key购买 nike

在我的 MySQL 数据库中,理想情况下我应该使用什么来存储货币汇率信息?我应该使用:

  • 十进制如 (10,4)
  • float 或
  • 还有别的吗?

货币汇率通常是小数,例如 1.2362。

最佳答案

您需要做到多精确?我问是因为问题可能超出了转换因子的存储格式。例如,规则可能是保留 N 位小数,乘法(或除法)到 M 位,然后四舍五入。 “回合”可能是“财务”——0.5 总是四舍五入,而不是 IEEE-754,“四舍五入到最接近的偶数”。

假设您有能力在最后一位(美分或生丁或其他)少一个单位,我会简单地使用 DOUBLE

我假设您不会存储超过 100 个转换因子,因此 DOUBLE 占用 8 个字节这一事实不会成为问题。如果你记录的是过去 10 年每分钟的换算系数,我会重新考虑这个决定。

FLOAT 为您提供 6-7 个有效 数字(占用 4 个字节); DOUBLE 给出大约 16。12345123.450.00012345 各有 5 个“有效”数字。

对于货币本身,我认为今天任何货币的最大小数位是4。也就是说,DECIMAL(nn, 4)应该足以存储钱。

但是,这并没有提供必要的舍入。

ROUND(currency1 * factor, decimals)

其中 decimals 是 2 美元和欧元(以及许多其他货币)的目标货币。正如我在上面指出的那样,这可能与银行的计算结果相差一分钱。

(你会称之为“基于意见的”吗?或者更好的说法?)

关于mysql - MySQL 中货币汇率的理想数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30613925/

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