Имейте в виду, что результат этого будет неточным, поскольку у нас нет Language Code
, или он может даже выдать исключение из-за отсутствия этого Locale
в системе.Вместо этого я искал бы это, выполнив следующее:
val locale = Locale.getAvailableLocales().first { it.country == address.countryCode }
val currency = Currency.getInstance(locale)
Также, если вы хотите попытаться быть максимально точным, вы можете сделать это:
val locale =
Locale.getAvailableLocales().firstOrNull { it.country.equals(countryCode, true) && it.language.equals(countryCode, true) }
?: Locale.getAvailableLocales().firstOrNull { it.country.equals(countryCode, true) }
?: Locale.getDefault()
val currency = Currency.getInstance(locale)