For floating point keep in mind these are binary floating point types and so decimal precision is a bit of a problematic concept. Your first instinct should be something like:
CHECK(point_gauss BETWEEN -9999.999 AND 9999.999)
However, if you need specific base 10 precision the best way is to change from double to numeric and use this instead:
point_gauss NUMERIC(7,3),....