BigDecimal: formatting currency amount

master
bvn13 2022-08-13 04:04:35 +03:00
parent 00bf9ed618
commit 9e5dc5797f
2 changed files with 31 additions and 9 deletions

View File

@ -22,16 +22,22 @@ public class BigDecimalExample {
// amount = amount.movePointLeft(2);
// System.out.println(amount);
BigDecimal amount = new BigDecimal("4.12");
Currency eur = Currency.getInstance("EUR");
System.out.println(amount + " " + eur);
MoneyDto moneyDto = new MoneyDto(amount, eur);
System.out.println(moneyDto);
// BigDecimal amount = new BigDecimal("4.12");
// Currency eur = Currency.getInstance("EUR");
// System.out.println(amount + " " + eur);
// MoneyDto moneyDto = new MoneyDto(amount, eur);
// System.out.println(moneyDto);
//
// MoneyDto incomingUsd = MoneyDto.fromJson("514", "USD");
// System.out.println(incomingUsd + " -> " + incomingUsd.getAmount() + " " + incomingUsd.getCurrency());
// MoneyDto incomingTnd = MoneyDto.fromJson("5148", "TND");
// System.out.println(incomingTnd + " -> " + incomingTnd.getAmount() + " " + incomingTnd.getCurrency());
MoneyDto incomingUsd = MoneyDto.fromJson("514", "USD");
System.out.println(incomingUsd + " -> " + incomingUsd.getAmount() + " " + incomingUsd.getCurrency());
MoneyDto incomingTnd = MoneyDto.fromJson("5148", "TND");
System.out.println(incomingTnd + " -> " + incomingTnd.getAmount() + " " + incomingTnd.getCurrency());
BigDecimal amount = new BigDecimal("4.120000");
System.out.println(amount);
BigDecimal amount2 = new BigDecimal("4.120000");
Currency eur = Currency.getInstance("EUR");
System.out.println(NumberFormatHelper.currencyAmount(amount2, eur));
}
static void fromInteger() {

View File

@ -0,0 +1,16 @@
package me.bvn13.test.bigdecimal;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Currency;
public class NumberFormatHelper {
public static String currencyAmount(BigDecimal amount, Currency currency) {
final DecimalFormat df = new DecimalFormat("0");
df.setMaximumFractionDigits(currency.getDefaultFractionDigits());
return df.format(amount);
}
}