Если я правильно понял ваш вопрос (вы немного расплывчаты ...), вы хотите сохранить данные измерений одним способом, но дать пользователям возможность отображать их по-разному (используя разные единицы измерения). Вы не указываете, какую технологию / языковую среду вы используете, но есть (по крайней мере) один довольно простой способ сделать это: создать класс конвертера.
Вот некоторый псевдо-C # скелетный код, если ваши данные измерений - это длины, хранящиеся в миллиметрах. Вероятно, вы можете выяснить, как использовать тот же подход для всего, что вы измеряете, и как бы вы ни хотели его отобразить:
class LenghtConverter {
double ToCentimeters(double millimeters) {
// 1 centimeter = 10 millimeters
return millimeters / 10;
}
double ToInches(double millimeters) {
// 1 inch = 25.4 millimeters
return millimeters / 25.4
}
// You get the drift. Add whatever conversions you need. If you wish,
// you can return strings instead of numbers, and append the unit
// signature as well.
}
Теперь в вашей сетке вы отображаете ваши данные с неким синтаксисом представления. Я придумываю что-то, чтобы дать вам идею, и так как я в ASP.NET, синтаксис очень похож на это. Надеюсь, вы меня извините за это =)
Вместо просто
<%= MyMeasurement.Data %>
для отображения данных измерений в том виде, в котором они были сохранены, вы выводите с помощью
<%= LenghtConverter.ToInches(MyMeasurement.Data) %>
, который будет отображать результат в дюймах.
Если вы на самом деле используете C # (или, я полагаю, VB.NET), в .NET 3.5 есть хорошая функция, называемая Методы расширения , которую вы можете использовать вместо этого. Это позволило бы вам выводить текст с более прохладным и более упорядоченным синтаксисом
<%= MyMeasurement.Data.ToInches() %>