Как создать строку цены с символом валюты (например, $) вместо кода валюты (USD, EUR)?Android

Форум для тех, кто программирует под Android
Anonymous
Как создать строку цены с символом валюты (например, $) вместо кода валюты (USD, EUR)?

Сообщение Anonymous »

Это мой текущий код:

Код: Выделить всё

fun getMonthlyPriceString(yearlyPriceMicros: Long, currencyCode: String): String  {
val format: NumberFormat = NumberFormat.getCurrencyInstance()
format.maximumFractionDigits = 2
format.currency = Currency.getInstance(currencyCode)

return format.format(yearlyPriceMicros.toFloat() / 1_000_000f / 12)
}
В результате получается: «5,00 сингапурских долларов». Однако вместо этого мне нужна строка цены типа «5,00 долларов США» (с символом).
Аргумент «Код валюты» извлекается из внешнего API (RevenueCat) и имеет форму " EUR", "USD", "SGD" и т. д.
Я пробовал заменить код в строке 4 на

Код: Выделить всё

format.currency = Currency.getInstance(Locale.getDefault())
Но в результате получается: «5 фунтов стерлингов», что является неправильным символом (фунты), поскольку я живу в Сингапуре, и поэтому это должно быть «5 долларов США» (сингапурские доллары)

Подробнее здесь: https://stackoverflow.com/questions/777 ... -of-curren

Вернуться в «Android»