Sto provando a stampare i prezzi in lire turche (codice valuta ISO 4217 TRY) con Java.Come sovrascrivere i simboli di valuta in Java?
Quando faccio
Currency curr = Currency.getInstance("TRY");
Locale trLocale = new Locale("tr", "TR");
System.out.println(curr.getSymbol(trLocale));
l'output è: "YTL".
Tuttavia, il simbolo della valuta per la Lira turca è recentemente cambiato da "YTL" a "TL" (come si può vedere nella pagina di Wikipedia per la Lira turca). La formattazione con NumberFormat
dà un risultato simile.
Non voglio davvero scrivere un'altra classe di valuta, specialmente quando Java ha un built-in.
Esiste un modo per sovrascrivere il simbolo di valuta predefinito di Java per TRY su "TL"?
Questo non aiuta immediatamente, ma presenta un bug e probabilmente verrà risolto nel prossimo aggiornamento di Java. –
non c'è altro modo oltre a creare il proprio wrapper per Valuta. La valuta è una classe finale quindi non può nemmeno essere estesa per sovrascrivere getSymbol per il tuo caso specifico. Vivere con YTL e segnalare il bug (e sperare che sia corretto nella patch successiva) o implementare la propria soluzione. –