Pregunta

Soy un novato en lo que respecta a SQL y PHP, y estoy tratando de redondear un resultado de precio promedio y eliminar los ceros adicionales que aparecen actualmente.

Actualmente mi resultado aparece como: $ 3.005000

Mi código actualmente dice lo siguiente:

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

He encontrado varios ejemplos de redondeo y truncamiento de SQL, pero desafortunadamente los tutoriales que he visto no me proporcionan información útil sobre dónde o cómo se supone que debo implementar estos cambios.

Esto me deja haciendo conjeturas sobre dónde realizar cambios, ninguno de los cuales ha funcionado hasta ahora (obviamente).

Si alguien pudiera proporcionarme un ejemplo de cómo redondear y truncar mis resultados, que incluye dónde exactamente necesito hacer estos cambios en mi configuración actual, ¡eso sería de gran ayuda y estaría muy agradecido! Lo siento mucho si mi nishbishness hace que sea más difícil explicar la solución.

¡Gracias!

¿Fue útil?

Solución

MySQL tiene un ROUND () función.

Así que simplemente redondea tu promedio en tu consulta SQL:

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

Si terminas con problemas de formato, puedes usar la función number_format () de PHP durante la salida.

Otros consejos

El formateo de los datos debe realizarse en el script que realiza la consulta, no en la consulta misma. Por ejemplo, en PHP puede escribir lo siguiente usando sprintf :

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

(Ejemplos de complementos de el manual de PHP ).

Además, generalmente, los valores de precios se almacenan como tipos decimal o enteros escalados, no como tipos de punto flotante, ya que los valores de punto flotante no son exactos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top