如何知道是否使用公制或英制

FVo*_*Vod 5 android units-of-measurement

我怎么能在android中知道是使用公制还是帝国?我没有在Locale中看到任何选项,我唯一想到的是使用locale.getCountry(); 方法并检查该国家是否是英国,美国......但是,有没有一种机器人知道它的方法?

提前致谢!

joe*_*cks 2

一种或多或少完整的方法是这样的:

科特林:

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
    }
Run Code Online (Sandbox Code Playgroud)

请注意,英国和美国的英制系统之间存在差异,请参阅 wiki 文章了解更多详细信息。