1
アプリで複数の通貨を処理できるようにします。私は量が通貨/ロケールに設定されているものに応じてフォーマットする必要がJavaアプリで複数の通貨を処理する
createTransaction("Phone bill", new BigDecimal("28.555"));
:だから、このようなものと呼ばれる
class MyApp() {
//...
public Transaction createTransaction(String desc, BigDecimal amount) {...
:私は、トランザクションインスタンスを作成するメソッドを持っています。
interface MyCurrency() {
public static BigDecimal format(BigDecimal amount);
}
public class GBP implements MyCurrency {
public static BigDecimal format(BigDecimal amount) {
return amount.setScale(2, BigDecimal.ROUND_FLOOR); // 28.555 -> 28.55
}
}
public class JPY implements MyCurrency {
public static BigDecimal format(BigDecimal amount) {
return amount.setScale(0, BigDecimal.ROUND_FLOOR); // 28.555 -> 28
}
}
// then modify my app class as follows
class MyApp() {
//...
public void setCurrency(MyCurrency currency) {
this.currency = currency;
}
public Transaction createTransaction(String desc, BigDecimal amount) {
amount = this.currency.format(amount);
//...
}
私はこれが意味をなさないと思っていました。しかし、これを行うにはJavaのビルドがありますか?私は複数の通貨を扱うことを探しましたが、これについて議論しているものは見つかりませんでした(でもかなり一般的なシナリオだと確信しています)
は、この点に注意してください:ユニットレス番号などの任意のそのようなことは本当にありません。トランザクションを作成する場合は、そのトランザクションの通貨(単位)を指定する必要があります。その情報はどこにでも保存する必要があります。 –