Estoy tratando de imprimir precios en Liras turcas (código de moneda ISO 4217 TRY) con Java.¿Cómo anulo los símbolos de moneda en Java?
Cuando hago
Currency curr = Currency.getInstance("TRY");
Locale trLocale = new Locale("tr", "TR");
System.out.println(curr.getSymbol(trLocale));
la salida es: "YTL".
Sin embargo, el símbolo de la moneda para la lira turca ha cambiado recientemente de "YTL" a "TL" (como se puede ver en la página de Wikipedia para Lira turca). El formateo con NumberFormat
da un resultado similar.
Realmente no quiero escribir otra clase de moneda, especialmente cuando Java tiene una incorporada.
¿Hay alguna manera de anular el símbolo de moneda por defecto de Java para TRY a "TL"?
Esto no ayuda de inmediato, pero presenta un error y probablemente se solucione en la próxima actualización de Java. –
no hay otra manera que crear su propio contenedor para Moneda. La moneda es una clase final, por lo que no puede extenderse para anular el uso de getSymbol en su caso específico. Ya sea que viva con YTL e informe el error (y espero que se solucione en el siguiente parche) o implemente su propia solución. –