JSR 354 – is proposed as standard api for Currency and Money handling in java.
Here is how we can format amount to indian format as by default indian currency is formatted as US currency.
Dependency setup:
Output: indian format output -->> INR1,00,000.12
Here is how we can format amount to indian format as by default indian currency is formatted as US currency.
Dependency setup:
Default formatting:javax.money money-api 1.0.3 org.javamoney moneta 1.3 pom
@Test
public void defaultIndianFormat() {
MonetaryAmount indianMoney = Monetary.getDefaultAmountFactory()
.setCurrency("INR").setNumber(100000.12345).create();
MonetaryAmountFormat amountFormat=MonetaryFormats.getAmountFormat(new Locale("en-IN"));
System.out.println("Default indian money format ->"+amountFormat.format(indianMoney));
}
Output: Default indian money format ->INR 100,000.12
@Test
public void testIndianFormat() {
AmountFormatQuery query = AmountFormatQueryBuilder.of(new Locale("en","IN"))
.set(AmountFormatParams.GROUPING_SIZES, new int[]{3,2}).build();
MonetaryAmountFormat format = MonetaryFormats.getAmountFormat(query);
System.out.println(format);
MonetaryAmount amount =
Monetary.getDefaultAmountFactory()
.setCurrency("INR")
.setNumber(100000.123456).create();
String formatted = format.format(amount);
System.out.println("indian format output -->> "+formatted);
}
Output: indian format output -->> INR1,00,000.12
Comments
Post a Comment