質問

コスト/価格/金額を CAD/USD で個別に保存するクラスに名前を付けるにはどうすればよいですか? longドルとセントですか?「PriceInDollars」もあるのですが、あまり好きじゃなくていつも忘れてしまいます。何か案は?

編集:どうやら使ったほうがいいみたいです BigDecimal, 、車輪の再発明ではありません。それだけを使うと思います。しかし、自分のクラスを作成しようとして多くのことを学びました。

私の他の質問をご覧ください ここ!

役に立ちましたか?

解決

私はPriceまたはCostのいずれかとなるだろう。あなたが選ぶどの1、あなたはそれがより具体的な取得するためにサブクラス化することができます。

MoneyCurrencyは、より多くの彼らは価格自体の名前として本当に適した価格、ないの属性になるように見えます。ちょうど私の2セント(しゃれに抵抗することができませんでした)。

他のヒント

まず、私はBigDecimalを使用するように言う皆に反対します。あなたの「バッキングストレージは」(非常に賢明である)BigDecimal場合でもBigDecimalフィールド、メソッドのパラメータ、などを持っているため、独自のクラスを使用する必要があり、何の意味を伝えません。通貨額のはずの独自のクラスを持っています。

のような一般的に再使用されるタイプ

あなた自身が書いていない、と述べたことすべてを。すでに存在しており、あなたのための問題の多くを通じて考えている。このためのライブラリがたくさんあります。個人的に、私は(ジョダタイム名声の)スティーブンColebourneにより、ジョダマネーで始まるのだろう。

  • Currency
  • Money
  • Price
  • Value (私はそうしませんが)

MonetaryValue: - )

なぜ悪い選択Moneyされますか?クラスにjava.util.Currencyとともに、全体と小数部分をカプセル化するIMO、BigDecimalより良いデザインです。

それが不必要にUSDまたはCADにデザインを偏見ので

私は、「InDollars」で終わるものを好きではありません。なぜそのアイデアは、より一般的ですか?

私は "現金" を使用します。

http://www.answers.com/topic/cashする 紙幣や硬貨の形でお金。通貨。 通貨または小切手による商品やサービスの支払います。

それはあなたが変換して、そのようなのためにそれに追加できる動詞がたくさん、任意の通貨の種類に固有ではありません。

私は私のMonetaryAmount呼ばれてきました。

私ならそう呼ぶだろう Amount, を持って、 java.util.Currency そして long ユニットと一緒に。

ここは 私自身の Amount クラス さまざまなプロジェクトで使用したものです。それは実装します Comparable そして、 toString 表示用に金額を書式設定するメソッドです (ただし、金額の書式設定にはロケールは考慮されません)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top