I have defined a column in SQL to be decimal(4,1), null
which means I am storing four digits, up to one of which can be to the right of the decimal point.
The source data should always be in the range of 0 to 999.9, but due to an error beyond my control, I received the number -38591844.0. Obviously this won't store in SQL and gives the error "Arithmetic overflow error converting real to data type numeric."
I want to store null if the value is out of bounds.
What is the best way to verify that the value, a float in C#, is not out of bounds for a SQL column defined as above?
While this seems like the simplest approach...
private bool Validate41Float(float f)
{
if (f >= 0 && f <= 999.9) return true;
else return false;
}
I'm concerned if for some reason I get the value: 10.12345. In such a case, I would just want to store 10.1, but does the extra precision cause the same SQL error?