在C#中访问“测量系统”单位名称(kg / lb,m / in等)

Windows允许将Measurement system配置为MetricUS有没有办法使用此设置读取(缩写)C#中的单位名称?

例如,当以Metric显示重量时我想显示kg但在US我想显示lb 。 类似的长度,体积等

我看过SystemInformation,CultureInfo,Configuration和Globalization,但没有看到任何明显的东西。 我错过了什么,还是我在错误的地方?

我相信你能做的最好的事情就是确定你的文化是否符合标准,然后自己处理。 我认为没有任何内置格式? 我可能错了,但我找不到任何参考。

这将允许您确定您的文化是否为公制:

  CultureInfo culture = new CultureInfo("en-GB"); RegionInfo regionInfo = new RegionInfo(culture.LCID); bool isMetric = regionInfo.IsMetric; 

@GenericTypeTea是关于RegionInfo的地方。

此外,F#包含许多用于处理度量单位的function。 在F#中构建一些你需要的东西并从C#调用它可能是有意义的。

有关F#和度量单位的信息,请参阅此博客文章和后续post。