添加数百万个定点数

JF *_*ier 2 c# double decimal

我已经在小数点后给出了数百万个精确4位数的数字.

它们必须以复杂的方式添加和减少(在优化问题中).之后(以及之间)我必须确定确切的值.

在C#中,我想到了三种不同的可能性:

  1. 使用双精度并定义舍入误差以进行比较.
  2. 使用小数类型
  3. 创建一个使用整数运算的类型

你会建议什么?

Jon*_*eet 6

绝对不要使用double.它不代表您获得的信息.

我个人一开始就习惯了decimal.它是您获得的信息最合适的类型,您可以依赖于结果.

如果证明太慢,你可以将所有值转换为整数,执行所有算术,然后转换回来 - 但我只会你看到decimal版本执行后才这样做.