java - 股票价格的 BigDecimal?

标签 java decimal stocks

我意识到我们应该对所有货币值使用 BigDecimal,但是以美元表示的股票价格呢?

我注意到来自主要供应商的数据馈送 API 使用 double 类型来表示股票报价。有谁知道为什么吗?

这是否意味着我的应用程序可以使用 double 类型来存储来自这些供应商的股票报价?

最佳答案

不对货币使用二进制 float 的原因是货币使用小数部分,而人们(和会计法规)期望从对其执行的算术运算中获得特定的小数行为——二进制 float 不提供。

但是,股票报价提要通常不用于会计。它们被显示、比较、用作各种图表分析指标或交易算法的输入——所有这些都比会计更接近科学应用,并且不需要小数行为或精度。相反,由于数据量很大,存储效率和性能是相关的,而 BigDecimal 在这些方面确实很糟糕。

关于java - 股票价格的 BigDecimal?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5285505/

相关文章:

android - 从路透社获取金融股关键发展链接

javascript - Google 财经的股票报价问题

二进制数从 ASCII 到十进制的转换

python - 将ast.Num转换为decimal.Decimal以获得python中的精度

c++ - 十六进制、二进制和八进制到十进制转换器不能正常工作 C++

postgresql - SQL计算每月库存

java - 我如何在Java/eclipse中使用这个东西? (★)

java - DispatcherServler 不工作

java - POJO 到 org.bson.Document,反之亦然

java - 用于反转字符串的 Lambda 表达式 - Java