用于操纵货币的数据类型

时间:2013-04-07 16:51:25

标签: java currency

我正在尝试决定将哪种数据类型用于财务应用程序。

我读过应该使用DoubleBigDecimal。我在他们之间感到困惑。 在这方面的任何帮助将受到高度赞赏

4 个答案:

答案 0 :(得分:8)

您几乎肯定不希望使用浮点类型(doublefloatDoubleFloat)来处理货币金额,尤其是如果您愿意的话正在对它们进行计算。主要原因是有许多看起来很简单的数字不能完全表示为double等。其中一个是0.1

因此,对于此用例,

BigDecimal是更好的选择。

答案 1 :(得分:2)

使用BigDecimal,对于财务方面来说,它比Double好很多。在此处查看类似问题的已接受答案: Double vs. BigDecimal?

答案 2 :(得分:2)

BigDecimal不仅是最佳选择,BigDecimal也是针对这种情况设计的。

答案 3 :(得分:2)

对于大多数应用程序,一个简单的long将会:当代表美分时,这将处理高达10 ^ 17 {美元,欧元,无论}的金额。