在C#中访问“测量系统”单元名称(kg / lb,m / in等)
题
Windows允许将测量系统
配置为 Metric
或 US
有没有办法使用此设置读取(缩写)单位名称C#?
e.g。当在 Metric
中显示权重时,我想显示 kg
但在美国
中我想显示 lb
。类似的长度,体积等
我看过SystemInformation,CultureInfo,Configuration和Globalization,但没有看到任何明显的东西。我错过了什么或者我在错误的地方找错了吗?
解决方案
我相信你能做的最好的事情就是确定你的文化是否是衡量标准,然后自己处理。我不认为有任何内置格式?我可能错了,但我找不到任何参考。
这将允许您确定您的文化是否为公制:
CultureInfo culture = new CultureInfo("en-GB");
RegionInfo regionInfo = new RegionInfo(culture.LCID);
bool isMetric = regionInfo.IsMetric;
其他提示
@GenericTypeTea关于 RegionInfo
是正确的选择。
此外,F#包含许多用于处理度量单位的功能。在F#中构建一些你需要的东西并从C#中调用它可能是有意义的。
参见此博客文章以及随后有关F#和计量单位信息的帖子。
不隶属于 StackOverflow