eureka!! i have it!
the answer to this one is annoying. after playing around with this i have discovered that the vb numeric functions are implicitly recognising the letters E (and D) to indicate that the number is expresed using scientific notation (ie 2E3 is the equivalent of 2 e+3 (or 2 * 10^3 for the maths purists), ie 2000). E basicly indicates the the number to its left should be raised to the exponential given to the right (D is the same, but i guess it could stand for 'decimal places')
i tried out the following combinations (using both D and E, i have only shown E here):
2E0 = 2
2E3 = 2000
2E6 = 2000000
2E-3 = 0.002
2E-6 = 0.000002
i guess you could say this is an 'undocumented' feature.
hope that helps.
axa
_________________________
ps:- back to the original posting...
Mike, the code given by DALeffler should work fine, if the single letter returned by mid() is D or E, and the letter is passed to isnumeric(), the result will be false (non-numeric). isnumeric() only gives you the above problems when D or E appears with other characters in the input argument for isnumeric()
also, if isnumeric() is given a space or a blank string it will return false as you would hope.

by the way, sorry to spoil everybodys fun by figuring out the answer!
[This message has been edited by axa (edited 07-27-2001).]