Java 使用哪种数据类型操作货币
我正在尝试决定金融应用程序应使用哪种数据类型 我读到应该使用Java 使用哪种数据类型操作货币,java,currency,Java,Currency,我正在尝试决定金融应用程序应使用哪种数据类型 我读到应该使用Double或BigDecimal。我对他们感到困惑。 在这方面的任何帮助都将受到高度赞赏使用BigDecimal,这比财务方面的Double要好得多。类似问题的公认答案如下: 您几乎肯定不想使用浮点类型(double,float,double,float)来处理货币金额,尤其是在您将对其执行计算时。其主要原因是有许多看起来简单的数字不能准确地表示为double等。其中一个数字是0.1 因此,对于这个用例,BigDecimal是一个更好
Double
或BigDecimal
。我对他们感到困惑。
在这方面的任何帮助都将受到高度赞赏使用BigDecimal,这比财务方面的Double要好得多。类似问题的公认答案如下:
您几乎肯定不想使用浮点类型(
double
,float
,double
,float
)来处理货币金额,尤其是在您将对其执行计算时。其主要原因是有许多看起来简单的数字不能准确地表示为double
等。其中一个数字是0.1
因此,对于这个用例,
BigDecimal
是一个更好的选择。BigDecimal不仅仅是最好的选择,BigDecimal是为这种情况而设计的。对于大多数应用程序,一个简单的long
就可以了:当表示美分时,它可以处理高达10^17美元、欧元的金额