Out-of-Range and Overflow Handling for float values
In my view, you're on the right track and validating it in C# before sending it to the database is the better way, so you're able to show the changes before a submit.

A regular expression should indeed be able to solve your validating issue, but depending on how you allow the number to be entered plays a part in how complex it should be. 
Say do you allow thousand-seperator, decimal points, negative numbers, the number zero and so on.
And such cases always make Regular Expression a daunting task if not rather familiar with the syntax.

So I'd say that in your situation, the very easiest way would be to simply check whether the entered number is indeed a number and then cast it to a decimal and simply check whether it's value is between -1000000.000 and 1000000.000 (not inclusive).
Decimal.TryParse and an if-statement or two would be all that's needed for this.