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

时间:2009-10-27 08:51:53

标签: c# regional

Windows允许配置Measurement systemMetricU.S.有没有办法在C#中使用此设置读取(缩写)单位名称?

e.g。在Metric中显示权重时,我想显示kg,但在U.S.我希望显示lb。类似的长度,体积等

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

2 个答案:

答案 0 :(得分:7)

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

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

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

答案 1 :(得分:0)

@GenericTypeTea关于RegionInfo是值得关注的地方。

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

有关F#和计量单位的信息,请参阅this blog post及后续帖子。