Ponto Flutuante e o PHP

27
jul
10h 01

Geralmente usuários principiantes não chegam a usar ponto flutuante (float) ou então nem se dão conta de que as contas do PHP estão resultando valores incorretos.

Tenha muito cuidado ao operar com Floats no PHP, a melhor dica é NÃO FAÇA!

Exemplo de coisas estranhas:

O próprio manual do PHP alerta sobre os vários desses bugs, como pode ser visto em:

http://www.php.net/manual/pt_BR/language.types.float.php

 

Mas não pense que o PHP é ruim e esse é um problema somente dele, isso também ocorre em muitas outras linguagens, como o Javascript ou até  Java . O problema consiste na forma como o float e double são armazenados na memória pelo sistema operacional. Tem a ver com a precisão de ponto flutuante em memória e como o SO gerencia isso. Dependendo dos números que se trabalha o arredondamento em máquina é diferente do esperado.

 

Mas e agora, eu preciso fazer operações de ponto flutuante para um sistema contábil e não pode haver erros, como resolvo ?
Fácil, quer dizer, nem tanto. Basta você usar bibliotecas específicas para precisão como BC Math ou GMP.

Bom código e boa semana!

Uma ideia sobre “Ponto Flutuante e o PHP

  1. Passei a utilizar a BC Math, como meus cálculos são mais simples, o resultado obtido foi o mesmo. Mas eu queria saber se os cálculos feitos através da biblioteca são mais rápidos que os feitos normalmente.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

 

O que está rolando na lista?

Ocorreu um erro. A causa provável é o feed estar offline. Tente mais tarde.
 
'