В нашем приложении в настоящее время мы принимаем решение о сохранении всех инженерных данных в нашей базе данных в SI.
Я беспокоюсь, что мы можем рискнуть не иметь достаточной точности в нашей базе данных или в числовых типах .NET. Я также обеспокоен тем, что мы можем увидеть артефакты математики с плавающей запятой (хотя это, вероятно, вопрос сам по себе).
Например, исходные данные могли быть величиной давления, выраженной (и считанной из какой-либо сторонней службы) в фунтах на квадратный дюйм (фунты на квадратный дюйм). Инженеры выберут эту единицу измерения, потому что (для выражаемой величины) она будет давать легко усваиваемые, понятные человеку числа, не требуя научных обозначений.
Когда мы «стандартизируем» число, т. Е. Когда мы конвертируем это количество для нашей собственной настойчивости, мы можем преобразовать его в Па (Паскали), что потребует либо умножения, либо деления числа на некоторое другое потенциально большое число.
Мы часто храним очень большие или очень маленькие числа, и что еще хуже - мы могли бы провести дальнейшие вычисления для этих чисел.
В настоящее время мы используем ORACLE float и System.Double.
Что люди думают об этом?
UPDATE
Дальнейшие исследования обнаружили Единицы измерения поддерживают на следующем языке F # (в CTP, как я пишу).
Кажется, мы сможем понять F #, как пользовательский ввод, например:
9.81<n/s^2> // an acceleration
Мы также сможем создавать наши собственные производные юниты и системы юнитов.
(источник: msdn.com )