hmm... If you specify that it is UNSIGNED that it will disallow negatives according to MySQL's docs. I wonder if that is your issue.
You can also try DECIMAL.
Make sure when you define the data type you passing 2 values.
If M and D are omitted, values are stored to the limits allowed by the hardware, M is the total number of digits and D is the number of digits following the decimal point. It could be your hardware limit is low if you didn't specify these values.