在Java中实现Money类有哪些方法?

时间:2013-07-24 20:03:04

标签: java bigdecimal currency

我可以使用BigDecimal类,因为它提供了算术,缩放操作,舍入,比较,散列和格式转换的操作。

我只是想知道实现它的其他方法是什么?

3 个答案:

答案 0 :(得分:1)

货币计算最好以整数计算,计算分数。

所以你的选择如下:

  1. 如果你100%确定你永远不需要代表一个大于9,223,372,036,854,775,807美分的数字,那就去吧。
  2. 如果您需要更大的东西,请使用BigInteger。
  3. 编辑 - 正如@arshajii在评论中所指出的,对于某些应用领域(主要是股票市场/期货),您计算分数,小数点后5位数。如果那是你想要的应用程序那么你将不得不使用BigInteger。

答案 1 :(得分:1)

我建议使用Joda Money项目中的类。这是由Joda Time成名的Stephen Colebourne开发的。

它提供了有用的类来表示金额,从/解析和格式化它们以及许多其他相关的实用方法。

答案 2 :(得分:0)

INT?由于浮点舍入问题,请确保您永远不会使用浮点数或加倍计算等等。

//$100.52
int value = 10052;

int wholeDollars = value/100;
int cents = value %100;