I think the best solution would be to define a scientific notation form datatype to do the checking. Then you could store it in the database however the database liked in a number column, and transform it on display if necessary.
I guess this sort of breaks the "store what the user gave you in the database" concept we use for textareas.