Se você precisar que um valor seja preciso, armazene-o como um tipo de dados exato, como
DECIMAL(17,7)
, que forneceria o mesmo intervalo que FLOAT(10,7)
. A única desvantagem é que o DECIMAL
irá ocupar mais espaço em disco do que o equivalente FLOAT
, no entanto, isso é trivial em comparação com a correção de erros de ponto flutuante em que a precisão é uma preocupação. http://dev.mysql.com/doc /refman/5.0/en/fixed-point-types.html
Para obter mais informações sobre problemas de número de ponto flutuante, vale a pena ler o seguinte
http://dev.mysql.com/doc /refman/5.0/en/problems-with-float.html