Java中的价格优于BigDecimal类型?

时间:2011-06-06 00:36:46

标签: java

我需要一种财务类型,它将始终保持X ... X.YY格式的数字,甚至20位数,所以我将摆脱舍入,格式化和其他头痛。有吗?

补充:换句话说,我正在寻找类似的东西:

财务f = 1000.24;

f.setCurrency(USD);

是System.out.print(f.toString()); - > $ 1'000.24

2 个答案:

答案 0 :(得分:4)

您可以随时保留财务数据,以便士为单位。但是,正如你所说,这样做会涉及各种令人头疼的问题,最大值是,我想,19位数。所以BigDecimal似乎是要走的路。

(当BitInteger / BigDecimal被认为是我推动了一个体积更轻的压缩十进制格式时,但我无法获得任何支持。)

答案 1 :(得分:0)

没有类似的标准Java类型。

BigInteger(便士)可能是内置类型中的最佳选择。 (您不必担心以这种方式舍入)。您可以随时通过包装BigInteger来创建自己的东西,以方便添加货币标记和输出等美元。