Android Kotlin: как получить код и символ местной валюты

Чтобы получить код и символ местной валюты в Android с помощью Kotlin, вы можете использовать следующие методы:

Метод 1: использование Currency.getInstance()

import java.util.Currency
fun getLocalCurrencyCode(): String {
    val currency = Currency.getInstance(Locale.getDefault())
    return currency.currencyCode
}
fun getLocalCurrencySymbol(): String {
    val currency = Currency.getInstance(Locale.getDefault())
    return currency.symbol
}

Метод 2: использование Currency.getAvailableCurrency()

import java.util.Currency
fun getLocalCurrencyCode(): String {
    val currencySet = Currency.getAvailableCurrencies()
    val defaultLocale = Locale.getDefault()
    for (currency in currencySet) {
        if (currency.displayName.contains(defaultLocale.displayCountry)) {
            return currency.currencyCode
        }
    }
    return ""
}
fun getLocalCurrencySymbol(): String {
    val currencySet = Currency.getAvailableCurrencies()
    val defaultLocale = Locale.getDefault()
    for (currency in currencySet) {
        if (currency.displayName.contains(defaultLocale.displayCountry)) {
            return currency.symbol
        }
    }
    return ""
}

Метод 3: использование Currency.getInstance(Locale)

import java.util.Currency
import java.util.Locale
fun getLocalCurrencyCode(): String {
    val currency = Currency.getInstance(Locale.getDefault())
    return currency.currencyCode
}
fun getLocalCurrencySymbol(): String {
    val currency = Currency.getInstance(Locale.getDefault())
    val symbol = currency.symbol
    // Removing leading and trailing white spaces from the symbol
    return symbol.trim()
}

Эти методы извлекают код и символ местной валюты на основе языкового стандарта устройства по умолчанию. Вы можете выбрать любой из этих методов в зависимости от ваших требований.