Investigamos en distintos sitios para así traerte la solución para tu problema, en caso de alguna inquietud deja un comentario y te contestamos con mucho gusto, porque estamos para ayudarte.
Solución:
Decimal es el que usaría
La diferencia básica entre Decimal / Numeric y Float: Float es un tipo de datos de número aproximado, lo que significa que no todos los valores en el rango de tipos de datos se pueden representar exactamente. Decimal / Numérico es un tipo de datos de precisión fija, lo que significa que todos los valores en el tipo de datos reane se pueden representar exactamente con precisión y escala.
La conversión de decimal o numérico a flotante puede provocar cierta pérdida de precisión. Para los tipos de datos decimales o numéricos, SQL Server considera cada combinación específica de precisión y escala como un tipo de datos diferente. DECIMAL (4,2) y DECIMAL (6,4) son tipos de datos diferentes. Esto significa que 11.22 y 11.2222 son tipos diferentes, aunque este no es el caso de float. Para FLOAT (6) 11.22 y 11.2222 son los mismos tipos de datos.
El tipo de campo “Decimal” es bueno.
Si tiene precios más altos, puede usar product_price decimal(6,2) NOT NULL,
es decir, puede almacenar precios de hasta 6 dígitos con un punto decimal antes de 2 dígitos.
Valor máximo para el campo product_price decimal(6,2) NOT NULL,
almacenará el precio hasta 9999,99
Si todos los precios están entre 0,01 y 25,00, entonces product_price decimal(4,2) NOT NULL,
será bueno, pero si tendrá precios más altos, puede establecer cualquier valor en decimal(4,2)
.
No usaría float ya que puede dar errores de redondeo, ya que es un tipo de punto flotante.
Usar decimal:
“Los tipos DECIMAL y NUMERIC se utilizan para almacenar valores para los que es importante preservar la precisión exacta, por ejemplo, con datos monetarios”.
ver: http://dev.mysql.com/doc/mysql/en/numeric-types.html
Si haces scroll puedes encontrar las notas de otros sys admins, tú igualmente puedes mostrar el tuyo si te gusta.