Аналогично этому вопросу, но отличается. Там много хороших ответов, но ни один из них не работает с единицами измерения.
Как насчет совместимого с .NET (даже через COM, если необходимо) оценщика математических выражений, который включает единицы измерения?
Я пробовал NCalc для безразмерных выражений. Я знаю, что F# может сделать это в коде. Калькулятор Google великолепен, но недоступен в качестве поддерживаемого API и не подходит в качестве службы для этого проекта.
Вот интересная статья на эту тему. Он охватывает расчеты единиц измерения, но не включает «аддитивные постоянные» преобразования, такие как градусы Цельсия в градусы Фаренгейта (по их заключению). И это поднимает хороший вопрос о веществе. «Галлоны бензина» против «галлонов молока». Единицы одни и те же, но субстанция другая, поэтому, возможно, библиотека должна рассматривать их как разные. А с правильными алхимическими уравнениями, сколько молока получается на галлон бензина? :-П
Можно ли подключить NCalc для достижения этой цели? Сколько работы потребовалось бы для усовершенствования NCalc в противном случае? Существуют ли какие-либо другие библиотеки, совместимые с .Net, которые могут обрабатывать единицы измерения?