Доступ к названиям единиц измерения "измерительная система" (кг/фунт, м/В и т. д.) В C#
Windows позволяет конфигурировать Measurement system
до Metric
или U.S.
есть ли способ использовать этот параметр для чтения (сокращенных) имен единиц в C#?
например, при отображении веса в Metric
Я хочу показать kg
а в U.S.
Я хочу показать lb
. Аналогично для длины, объема и т. д.
Я смотрел на SystemInformation, CultureInfo, конфигурацию и глобализацию, но не видел ничего очевидного. Я что-то упустил или смотрю не так? место?
2 ответов
Я считаю, что лучшее, что вы можете сделать, это определить, является ли ваша культура метрической или нет, а затем справиться с этим самостоятельно. Я не думаю, что есть встроенное форматирование? Я могу ошибаться, но я не могу найти никакой ссылки на это где-либо.
Это позволит вам определить, является ли ваша культура метрической или нет:
CultureInfo culture = new CultureInfo("en-GB");
RegionInfo regionInfo = new RegionInfo(culture.LCID);
bool isMetric = regionInfo.IsMetric;
@GenericTypeTea прав насчет RegionInfo
быть местом для поиска.
кроме того, F# содержит множество функций для работы с единицами измерения. Возможно, имеет смысл построить часть того, что вам нужно в F#, и вызвать его из C#.
посмотреть этот блог и последующие сообщения для получения информации о F# и единицах измерения.