gpt4 book ai didi

double - 十进制与双倍速度

转载 作者:行者123 更新时间:2023-12-03 06:06:30 25 4
gpt4 key购买 nike

在我编写财务应用程序时,我经常在使用 double 还是使用小数的决定上进行斗争。

我的所有数学运算都适用于不超过 5 位小数且不大于 ~100,000 的数字。我有一种感觉,所有这些都可以表示为 double ,而不会出现舍入错误,但从未确定。

我会继续从小数切换到 double ,以获得明显的速度优势,除了在一天结束时,我仍然使用 ToString 方法将价格传输到交易所,并且需要确保它始终输出我期望的数字。 (89.99 而不是 89.99000000001)

问题:

  1. 速度优势真的像简单测试所显示的那么大吗? (~100 次)
  2. 有没有办法保证 ToString 的输出是我想要的?我的数字始终具有代表性,这一事实是否可以保证这一点?

更新:在我的应用程序可以运行之前,我必须处理约 100 亿次价格更新,出于明显的保护原因,我现在已经使用十进制实现了,但是打开需要约 3 个小时,双倍会大大减少我的打开时间。有没有安全的方法来处理 double ?

最佳答案

  1. 浮点运算几乎总是要快得多,因为它直接由硬件支持。到目前为止,几乎没有广泛使用的硬件支持十进制算术(尽管这种情况正在改变,请参阅评论)。
  2. 金融应用程序应该始终使用十进制数字,因在金融应用程序中使用浮点而产生的恐怖故事数不胜数,您应该能够通过 Google 搜索找到很多这样的例子。<
  3. 虽然十进制算术可能比浮点算术慢得多,但除非您花费大量时间处理十进制数据,否则对程序的影响可能可以忽略不计。与往常一样,在开始担心差异之前先进行适当的分析。

关于double - 十进制与双倍速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/329613/

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