0

ISO 3166定义了国家代码,例如GBUSFRRU

我希望将这些国家代码与这些国家/地区之间距离的习惯测量单位进行合理确定的关联。

特别是在 iOS 和 OS X 上,可以从以下位置检索国家代码NSLocale

[[NSLocale currentLocale] objectForKey: NSLocaleCountryCode];

NSLocale还提供了一种查看一个国家/地区是否使用公制或非公制单位的方法:

const bool useMetric = [[[NSLocale currentLocale] objectForKey: NSLocaleUsesMetricSystem] boolValue];

然而,这还不够。例如,在英国 ( GB ) 公制系统被广泛使用,但地方之间的距离继续以英里而不是公里为单位进行官方测量。

4

3 回答 3

4

我也遇到了这个问题:-)

使用公制但仍使用英里的国家:-- 1. GB 是唯一的例外,仍然使用英里而不是公制。注意:加拿大也关注使用 KM 进行公路运输。虽然,加拿大仍然遵循数英里的火车和马车运输

不使用公制的国家 利比里亚、缅甸和美利坚合众国。注:缅甸(原缅甸)正计划改用公制。目前,缅甸使用自己的系统,不同于英制和公制。

在我的应用程序中,我检查国家/地区是使用英制还是公制。

if (metric) 然后为除英国以外的所有国家分配公里

if (imperial) 然后为除缅甸以外的所有国家分配里程

如果是缅甸,则分配缅甸单位

如果是英国人,那么分配里程

于 2014-12-24T18:11:57.707 回答
0

提供了一张图表,显示了使用每小时英里数作为道路速度的国家/地区。它引用了维基百科关于每小时英里数的文章作为其来源,其中有以下内容:

其中包括英国、[1] 美国、[2] 以及英国和美国领土的道路;美属萨摩亚、[3] 巴哈马、[4] 伯利兹、[5] 英属维尔京群岛、[6] 开曼群岛、[7] 多米尼克、[8] 福克兰群岛、[9] 格林纳达、[10] 关岛、 [11] 缅甸,[12] 北马里亚纳群岛,[13] 萨摩亚,[14] 圣卢西亚,[15] 圣文森特和格林纳丁斯,[16] 圣赫勒拿,[17] 圣基茨和尼维斯,[18] 特克斯和凯科斯群岛,[19] 美属维尔京群岛,[20][21] 安提瓜和巴布达(尽管公里用于距离),[22] 和波多黎各(与前者相同)。 [22 ]

我看不到一种方法可以将其下载为从 ISO3166 国家代码键入的数据,但编译它并不是一项艰巨的任务。


如果有更好的建议,我将不接受这个答案。

于 2014-07-10T12:50:11.247 回答
-1

官方上,英国的道路距离以公里为单位,但道路标志以英里为单位。令人困惑?是的!当道路工程师获得道路计划时,一切都以千米为单位,政府统计以千米为单位,但道路标志和汽车里程表以英里为单位。有关详细信息,请参阅https://en.wikipedia.org/wiki/Driver_location_sign

于 2015-12-22T09:05:24.607 回答