with type money example datatype data java currency

type - ¿Cómo puedo averiguar el símbolo de la subunidad de moneda(también conocida como unidad menor) en Java?



java format currency with comma (1)

Currency.getSymbol me dará el símbolo principal (por ejemplo, "$" por USD) pero me gustaría obtener la unidad menor (por ejemplo, "p" por GBP o el símbolo de centavos por USD), sin escribir mi propia tabla de consulta.

¿Hay un estándar, es decir, construido en forma de hacer esto?


Me gustaría sugerir en esta situación el uso de un custom currency format personalizado custom currency format . Utilice DecimalFormat o NumberFormat del paquete java.text.* . Hay muchos ejemplos para eso.

Ejemplo

public class CurrencyFormatExample { public void currencyFormat(Locale currentLocale) { Double currency = new Double(9843.21); NumberFormat currencyFormatter; String currencyOut; currencyFormatter = NumberFormat.getCurrencyInstance(currentLocale); currencyOut = currencyFormatter.format(currency); System.out.println(currencyOut + " " + currentLocale.toString()); } public static void main(String args[]) { Locale[] locales = new Locale[]{new Locale("fr", "FR"), new Locale("de", "DE"), new Locale("ca", "CA"), new Locale("rs", "RS"),new Locale("en", "IN") }; CurrencyFormatExample[] formate = new CurrencyFormatExample[locales.length]; for (int i = 0; i < locales.length; i++) { formate[i].currencyFormat(locales[i]); } } }

Fuera puesto

9Â 843,21 â?¬ fr_FR 9.843,21 â?¬ de_DE CAD 9.843,21 ca_CA RSD 9,843.21 rs_RS Rs.9,843.21 en_IN

Referencia here :

Actualización para moneda menor

Locale locale = Locale.UK; Currency curr = Currency.getInstance(locale); // get and print the symbol of the currency String symbol = curr.getSymbol(locale); System.out.println("Symbol is = " + symbol);

Salida:

Symbol is = £