我怎么知道在android中是使用公制还是英制?我还没有看到Locale中的任何选项,唯一想到的就是使用locale.getCountry();方法,并检查国家是否是英国,美国,…但是,有没有一个机器人的方法来了解它?先谢谢你了!
whlutmcx1#
一个或多或少完整的方法是这样做的:
Kotlin:
private fun Locale.toUnitSystem() = when (country.toUpperCase()) { // https://en.wikipedia.org/wiki/United_States_customary_units // https://en.wikipedia.org/wiki/Imperial_units "US" -> UnitSystem.IMPERIAL_US // UK, Myanmar, Liberia, "GB", "MM", "LR" -> UnitSystem.IMPERIAL else -> UnitSystem.METRIC }
请注意,英国和美国的帝国系统之间存在差异,请参阅wiki文章以了解更多细节。
6ju8rftf2#
我在Kotlin中使用了这个扩展函数:
fun Locale.isMetric(): Boolean { return when (country.uppercase(this)) { "US", "LR", "MM", "BS", "BZ", "KY", "PW", "GB", "UK" -> false else -> true } }
2条答案
按热度按时间whlutmcx1#
一个或多或少完整的方法是这样做的:
Kotlin:
请注意,英国和美国的帝国系统之间存在差异,请参阅wiki文章以了解更多细节。
6ju8rftf2#
我在Kotlin中使用了这个扩展函数: