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 = £