Я пытаюсь распечатать цены в турецких Liras (код валюты ISO 4217 TRY) с Java.Как переопределить символы валюты в Java?
Когда я
Currency curr = Currency.getInstance("TRY");
Locale trLocale = new Locale("tr", "TR");
System.out.println(curr.getSymbol(trLocale));
выход: "НТЛ".
Однако символ валюты для турецкой лиры недавно изменился с «YTL» на «TL» (как видно на странице Википедии для турецкой лиры). Аналогичный результат дает форматирование с NumberFormat
.
Я действительно не хочу писать еще один курс валюты, особенно если у Java есть один встроенный.
Есть ли способ переопределить символ валюты по умолчанию Java для TRY на «TL»?
Это не сразу поможет, но сообщит об ошибке, и это, вероятно, будет исправлено в следующем обновлении Java. –
не существует способа создать свою собственную упаковку для валюты. Валюта - это конечный класс, поэтому его нельзя даже продлить, чтобы переопределить getSymbol для вашего конкретного случая. Либо жить с YTL и сообщать об ошибке (и надеяться, что она исправлена в следующем патче), либо реализовать собственное решение. –