Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用哪种数据类型操作货币_Java_Currency - Fatal编程技术网

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美元、欧元的金额