(Note: I'm more a backend developer, so please forgive my lack of UX terminologies. Don't hesitate to edit the text or the tags)
We are working on an online scientific software with specific constraints about numeric inputs:
- Inputs are made in a sort of treegrid. There are a few columns, and only 1 or 2 with numeric input
- On very close rows, figures can be extremely heterogeneous. The user can enter "1 000" in one row, "2,2435e-13" on the next one, then "0.037", then "6,62355e9" on the fourth row, and so on
- Even if the software is a scientific software, sometime the user entering some data doesn't have a scientific background
- Data are sometime copy/pastes from an external computation, and can be something like "2.234234567456e-6"
- The software is international, and numerical values display are really different. A French user may try to input "1 453,23", in Switzerland something like "5 234.43". Some other countries use other thousand separators
- Our computations don't need exact data. User inputs can be stored as floating point numbers.
My main question is "Are there some UX patterns about scientific numerical data input?"
More specific questions are:
- Should we display numbers exactly like they were entered? Even if they are heterogeneous and if two users sharing the same data use different locales ? If yes, how are we supposed to handle the input validation?
- Should we display all numbers in scientific notation? Even if we can have "1", "10", or "0.1"? Or should we have more complex rules about when to display in which format?
- Should we offer a feature to customize the number formatting? If yes, what would be the default values, and how not to have a too complex customisation?
- Should we care about the locale, or should we force the user to use a determined convention ?
- Or maybe should we permit to enter the values in any locale, and display them using a convention ? In this case, how to deal with a user updating an existing value ? Should be convert this value to the user locale ?
- Is the lack of precision an UX issue if we decide to store the values as floating point number ? E.g. is it an issue if we convert 1'000'000'000'000'123.3543 to 1e15 ? (Not an issue in our computations for now)