如果我必须设计一个使用有理数的财务应用程序(即带有小数部分的数字),我应该使用什么数据类型进行内部计算?
我有两个选择:
使用BigInt
(Java中的BigInteger
)并模拟定点算术。我必须分别跟踪小数点。
使用BigDecimal
和浮点运算。 BigDecimal
已经是BigInt的包装器,可以完成我需要做的大部分工作。
我倾向于使用BigDecimal(方法2),除非有人可以给出整数算术的强参数。
编辑:关于链接的问题,我想知道哪个BigDecimal或BigInteger更好,而另一个问题更通用,并讨论“最佳数据类型”(可能是也可能不是上面两个)。在我的情况下,我的选择仅限于两个,所以我不能使用Currency
类型。