首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL中理想的货币汇率数据类型

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

Stack Overflow用户
提问于 2015-06-03 07:47:42
回答 1查看 3.9K关注 0票数 5

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

  • 双倍
  • 十进制类(10,4)
  • 浮或
  • 还有别的吗?

货币汇率通常是像1.2362这样的十进制数字。

EN

回答 1

Stack Overflow用户

发布于 2015-06-08 19:55:13

你需要有多精确?我之所以这样问,是因为这个问题可能超出了转换因子的存储格式。例如,规则可能是将因子保持为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)应该足以存储货币。

然而,这并不能提供必要的四舍五入。

代码语言:javascript
复制
ROUND(currency1 * factor, decimals)

如果目标货币为美元和欧元(以及许多其他货币),decimals为2。正如我在上面指出的,这可能与一家银行的计算值相差1分之多。

(你会称这为“基于意见”吗?还是别的什么更好的?)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30613925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档