In my application users compute some engineering data (physical quantities like lengths, and weights).
Currently the core formulas work on and assume English system, but user can select
Metric system to work in. If English is selected, no special provisions are required, everything is done in
But if user selects
Metric, there are two conversions that take place -- one on input and on on output, to keep things consistent. Currently the existing application I work with, stores data in both units.
My question is about which values do I store in the database -- the ones that are using English units or the converted ones that are using Metric?
More so, is this a type of question where the answer is "toss a coin", or are there some definitive benefits of one over the other?
More Detail on what can happen when user chooses to use Metric
After initial conversions the computation engine crunches the English unit system numbers, and is ready to save them in the database, here are my two choices:
Way 1 - Storing Metric Data in database (also storing English Data as well)
- Convert to data to Metric system, when needed, and store it in the database (making note that data is in Metric units). With English data, store it as is in the database and mark it as English
- When viewing data, no conversion required
Way 2 - Storing English Data in database (and only English)
- Do NOT convert, store data using English system (but making note that data is in English units)
- When viewing data, convert to Metric for display, when user-requested.