我正在尝试决定将哪种数据类型用于财务应用程序。
我读过应该使用Double
或BigDecimal
。我在他们之间感到困惑。
在这方面的任何帮助将受到高度赞赏
答案 0 :(得分:8)
您几乎肯定不希望使用浮点类型(double
,float
,Double
,Float
)来处理货币金额,尤其是如果您愿意的话正在对它们进行计算。主要原因是有许多看起来很简单的数字不能完全表示为double
等。其中一个是0.1
。
BigDecimal
是更好的选择。
答案 1 :(得分:2)
使用BigDecimal,对于财务方面来说,它比Double好很多。在此处查看类似问题的已接受答案: Double vs. BigDecimal?
答案 2 :(得分:2)
BigDecimal不仅是最佳选择,BigDecimal也是针对这种情况设计的。
答案 3 :(得分:2)
对于大多数应用程序,一个简单的long
将会:当代表美分时,这将处理高达10 ^ 17 {美元,欧元,无论}的金额。