Sorry, you can't. The DOUBLE and FLOAT data types represent approximate numeric data values. They are stored in such a way that they can contain a wide range of numbers (from very big to very small) but at the cost of being a bit inaccurate. See Floating-point types for more information.
I know you already have a large database with prices but if you can you should use regular numbers to store monetary values. For example in US currency you would store it in cents. So if something costs $19.95 you should store it as 1995. So in that case I would do something like
CREATE TABLE temp_table AS (SELECT field1, field2 , price * 100 AS price FROM table);