Display currencyTag(s): Internationalization String/Number
Using Java Money (JSR-354)
Since Java Money is not included in the JRE, you need include a reference in a POM.
<dependency> <groupId>org.javamoney</groupId> <artifactId>moneta</artifactId> <version>1.4.4</version> <type>pom</type> </dependency>
import java.util.Locale; // https://javamoney.github.io/ri.html import org.javamoney.moneta.Money; import javax.money.MonetaryAmount; import javax.money.format.MonetaryFormats; public class CurrencyTest { public static void main(final String... args) { final MonetaryAmount amount = Money.of(123.45, "EUR"); System.out.println(MonetaryFormats.getAmountFormat(Locale.GERMANY).format(amount)); System.out.println(MonetaryFormats.getAmountFormat(Locale.US).format(amount)); /* output * 123,45 EUR * EUR123.45 */ } }
import java.math.BigDecimal; import java.text.NumberFormat; import java.util.Locale; public class CurrencyLegacyTest { public static void main(String[] args) { BigDecimal amount = new BigDecimal(123.45); String germany = NumberFormat.getCurrencyInstance(Locale.GERMANY).format(amount); String us = NumberFormat.getCurrencyInstance(Locale.US).format(amount); System.out.println(germany); System.out.println(us); // use german number format but specify US currency java.text.NumberFormat format = java.text.NumberFormat.getCurrencyInstance(java.util.Locale.GERMANY); java.util.Currency usd = java.util.Currency.getInstance("USD"); format.setCurrency(usd); System.out.println(format.format(amount)); /* output * 123,45 € * $123.45 * 123,45 $ */ } }
mail_outline
Send comment, question or suggestion to howto@rgagnon.com
Send comment, question or suggestion to howto@rgagnon.com