Pergunta

Eu sou um novato quando se trata de SQL e PHP, e eu estou tentando completar um resultado médio preço e tirar os zeros extras que aparecem atualmente.

Atualmente o meu resultado aparece como: $ 3.005000

Meu código lê atualmente como segue:

$result = mysql_query("SELECT AVG(price) FROM milk WHERE price > 0 ");
$row = mysql_fetch_row ($result);

Eu encontrei vários exemplos de arredondamento SQL e truncagem mas infelizmente os tutoriais que eu vi me fornecer nenhuma informação útil sobre onde ou como eu deveria implementar essas mudanças.

Isso me deixa fazer suposições sobre onde fazer mudanças -. Nenhum dos quais têm trabalhado até agora (obviamente)

Se alguém poderia me fornecer um exemplo de como a rodada e truncar os meus resultados, que inclui exatamente onde eu preciso para fazer essas mudanças na minha configuração atual, que seria mais útil e eu ficaria muito grato! Eu realmente sinto muito se meu n00bishness torna mais difícil explicar a solução.

Obrigado!

Foi útil?

Solução

MySQL tem um ROUND () função.

Então, só volta a sua média na sua consulta SQL:

$result = mysql_query("SELECT ROUND(AVG(price),2) FROM milk WHERE price > 0 ");

Se você acabar com problemas de formatação, você pode usar number_format () função do PHP durante a saída.

Outras dicas

A formatação dos dados deve ser feito no script fazer a consulta, não na própria consulta. Por exemplo, em PHP você pode escrever o seguinte usando sprintf :

$formatted_price = sprintf("%01.2f", $unformatted_price);

(Exemplo complementos de o manual do PHP ).

tipos

Além disso, em geral, os valores de preço são armazenados como tipos decimal ou números inteiros com escala, não de ponto flutuante, uma vez que valores de ponto flutuante não são exatas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top