0

我应该将我的类以 CAD/USD 存储成本/价格/金额作为long美元和美分的单独 s 命名?我有“PriceInDollars”,但我不太喜欢它,而且我总是忘记它。有任何想法吗?

编辑:显然我应该使用BigDecimal,而不是重新发明轮子。我想我会用那个。不过,我确实学到了很多东西,试图自己上课。

在这里查看我的另一个问题!

4

8 回答 8

6

我会选择Priceor Cost。无论您选择哪一个,您都可以对其进行子类化以获得更具体的信息。

Money并且Currency看起来更像是价格的属性,并不适合作为价格本身的名称。只是我的 2 美分(无法抗拒双关语)。

于 2009-08-31T18:30:19.050 回答
3

首先,我不同意每个说使用BigDecimal. 即使您的“后备存储”是BigDecimal(这是非常明智的),您也应该使用自己的类,因为拥有BigDecimal字段、方法参数等不传达任何语义。像货币金额这样的常用类型应该有自己的类。

说了这么多,不要自己写。有很多库已经存在并且已经为您考虑了许多问题。就个人而言,我会从斯蒂芬科尔伯恩(Joda-Time 成名)的Joda-Money开始。

于 2011-02-12T20:54:25.590 回答
2

货币价值 :-)

于 2009-11-06T01:12:49.123 回答
1
  • Currency
  • Money
  • Price
  • Value(虽然我不会)
于 2009-08-31T18:26:37.700 回答
1

为什么Money选择不好?将整体和部分部分封装java.util.Currency到一个类中是比BigDecimalIMO 更好的设计。

我不喜欢以“InDollars”结尾的任何东西,因为它不必要地使您的设计偏向于美元或加元。如果这个想法更普遍,为什么要这样做?

于 2009-08-31T22:44:04.763 回答
0

我会用“现金”

http://www.answers.com/topic/cash 纸币或硬币形式的金钱;货币。以货币或支票支付商品或服务。

它不特定于任何货币类型,您可以添加许多动词以进行转换等。

于 2009-08-31T19:32:26.427 回答
0

我会称它为Amount,持有 ajava.util.Currency和 along的单位。

这是我在不同项目中使用的我自己的Amount课程。它实现Comparable并具有toString格式化显示金额的方法(尽管在格式化金额时它不考虑您的语言环境)。

于 2011-12-14T22:19:04.013 回答
0

我打电话给我的MonetaryAmount

于 2011-02-12T19:38:56.497 回答