Доступ к именам единиц измерения "Система измерений" (кг / фунт, м / дюйм и т. Д.) В C # - PullRequest
9 голосов
/ 27 октября 2009

Windows допускает настройку от Measurement system до Metric или U.S. Есть ли способ использовать этот параметр для чтения (сокращенных) имен устройств в C #?

например. при отображении веса в Metric я хочу показать kg, но в U.S. я хочу показать lb. Аналогично для длины, объема и т. Д.

Я смотрел на SystemInformation, CultureInfo, Configuration и Globalization, но не видел ничего очевидного. Я что-то пропустил или я смотрю не в том месте?

Ответы [ 2 ]

7 голосов
/ 27 октября 2009

Я считаю, что лучшее, что вы можете сделать, - это определить, является ли ваша культура метрической или нет, а затем справиться с этим самостоятельно. Я не думаю, что есть встроенное форматирование? Хотя я могу ошибаться, но нигде не могу найти ссылки на это.

Это позволит вам определить, является ли ваша культура метрической или нет:

    CultureInfo culture = new CultureInfo("en-GB");
    RegionInfo regionInfo = new RegionInfo(culture.LCID);
    bool isMetric = regionInfo.IsMetric;
0 голосов
/ 27 октября 2009

@ GenericTypeTea прав в том, что RegionInfo - это то, что нужно искать.

Дополнительно F # содержит множество функций для работы с единицами измерения. Возможно, имеет смысл собрать кое-что из того, что вам нужно, в F # и вызвать его из C #.

См. этот блог и последующие сообщения для получения информации о F # и единицах измерения.

...