No mês passado, enfrentei o problema da diferença de um centavo entre o meu relatório e o da Bling, consegui resolver com a ajuda da função do PHP round( ) mais um epsilon de 0.0001.
Hoje é Páscoa, e o coelhinho não trouxe o ovo, mas trouxe uma diferença de R$ 0,01 entre o meu relatório da previsão com o relatório da venda. Eu fiquei indignado. A minha saída foi entrar direto no MySQL e alterar o valor do pedido de 21.025 para 21.03, e assim consegui fazer o relatório da previsão bater com o relatório da venda.
Foi aí que eu percebi que usei a função no lugar errado, ao invés de usar a função na consulta o certo é usar a função no momento do cálculo do item.
O erro está aqui: $total = 0.15 x 3.50 = 0.525, o certo é $total=round(0.15 x 3.50,2)=0.53.
O PHP é capaz de calcular com duas casas decimais. Três casas é pedir demais!
Pergunta
Frank K Hosaka
No mês passado, enfrentei o problema da diferença de um centavo entre o meu relatório e o da Bling, consegui resolver com a ajuda da função do PHP round( ) mais um epsilon de 0.0001.
Hoje é Páscoa, e o coelhinho não trouxe o ovo, mas trouxe uma diferença de R$ 0,01 entre o meu relatório da previsão com o relatório da venda. Eu fiquei indignado. A minha saída foi entrar direto no MySQL e alterar o valor do pedido de 21.025 para 21.03, e assim consegui fazer o relatório da previsão bater com o relatório da venda.
Foi aí que eu percebi que usei a função no lugar errado, ao invés de usar a função na consulta o certo é usar a função no momento do cálculo do item.
O erro está aqui: $total = 0.15 x 3.50 = 0.525, o certo é $total=round(0.15 x 3.50,2)=0.53.
O PHP é capaz de calcular com duas casas decimais. Três casas é pedir demais!
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.