Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Ceros a la izquierda despues de una operacion

Estas en el tema de Ceros a la izquierda despues de una operacion en el foro de PHP en Foros del Web. Con el siguiente código calculo el promedio de tres notas (n1, n2, n3) pero lo hago sumando y dividiendo porque lo he intentado con AVG ...
  #1 (permalink)  
Antiguo 30/01/2013, 16:19
 
Fecha de Ingreso: enero-2013
Ubicación: Lima
Mensajes: 38
Antigüedad: 11 años, 3 meses
Puntos: 0
Ceros a la izquierda despues de una operacion

Con el siguiente código calculo el promedio de tres notas (n1, n2, n3) pero lo hago sumando y dividiendo porque lo he intentado con AVG para sacar el promedio de notas, pero no me funciona. Además el promedio lo calcula, después de dar clic en el botón ENVIAR, y además le quita los decimales convirtiéndolo en entero, que es lo quería, pero me gustaría que el promedio se actualizara cada vez que actualizo cualquier nota. Pero bueno ...

<input name="prom[]" type="text" id="prom[]" value="<?php $Promedio=($row_not['n1']+$row_not['n2']+$row_not['n3'])/3; echo number_format($Promedio,0); ?>" size="3" />


Lo que deseo ahora es que cuando me muestre la nota, si es un 8, aparezca como 08 (es decir con un cero a la izquierda), pero eso no sucede a pesar que en la tabla de la base de datos lo he configurado para que sean de tamaño 2 y que salga un cero a la izquierda, pero cuando este dato lo muestra en la página no aparece el 0 (cero) a la izquierda ... En la tabla de la Base de datos de Mysql si lo graba con el cero a la izquierda ...
  #2 (permalink)  
Antiguo 30/01/2013, 16:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ceros a la izquierda despues de una operacion

Puedes usar str_pad() o sprintf() para dar formato a un valor especifico, consulta el manual.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 30/01/2013, 17:04
 
Fecha de Ingreso: enero-2013
Ubicación: Lima
Mensajes: 38
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Ceros a la izquierda despues de una operacion

Muchas gracias PATEKETRUEKE por tu respuesta inmediata

Si he estado viendo, pero no he encontrado ejemplos y la verdad no se en que parte del código lo pongo. Cuando utilizaba str_pad(), los ceros me salen hacia la derecha y con sprinf salen otros números. Repito creo que es cuestión de ubicación del código.

Soy novato en código php y por eso les estoy pidiendo su ayuda ...
  #4 (permalink)  
Antiguo 30/01/2013, 17:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ceros a la izquierda despues de una operacion

El problema que yo veo es que no lees con detenimiento la documentación, ahí se explica como usar las funciones de manera correcta.

Si no obtienes el resultado que esperas es porque estás usando mal la función, ¿que tipo de ayuda especial necesitas?

Con el manual debería ser suficiente.

Repito, no es cuestión de ubicación del código, es cuestión de que leas bien el manual.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 30/01/2013, 17:33
 
Fecha de Ingreso: enero-2013
Ubicación: Lima
Mensajes: 38
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Ceros a la izquierda despues de una operacion

Muchas Gracias de nuevo PATEKETRUEKE

Lo acabo de hacer con:

str_pad($prom, 2, "0", STR_PAD_LEFT);

Sale pero de la siguiente manera:

Cuando es: 8 me da resultado 08 (CORRECTO); pero
Cuando es: 12 me da resuldato 012 (INCORRECTO).

Porque lo que deseo es que aparezca 08 y 12, es decir todos los números con dos cifras y eso es lo que no me sale.

Muchas gracias ...
  #6 (permalink)  
Antiguo 30/01/2013, 17:44
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ceros a la izquierda despues de una operacion

Pues acabo de probar el código con el valor 12 y funciona bien.

https://ignite.io/code/5109af4cec221e0a43000001
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 30/01/2013, 18:03
 
Fecha de Ingreso: enero-2013
Ubicación: Lima
Mensajes: 38
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Ceros a la izquierda despues de una operacion

Bueno en mi caso no. Será porque la consulta que tengo me muestra mas de 10 registros y estoy actualizando calificaciones.

Te explico: tengo tres notas N1, N2, N3 y de alli sale el promedio. Con las Notas no tengo problemas porque en la base de datos le he dado privilegios para que muestre dos cifras sin importar cuál es el valor. El problema se da cuendo lo hago con el promedio. Al calcular es cuando no me aparece el cero a la izquierda cuando es de una cifra.

Y cuando lo hago con la función que me muestras aparece de la siguiente manera:

N1 N2 N3 PROM
08 08 07 08
12 12 11 012


Bueno a mi me sale así. No se si me entenderas, o no estoy explicando bien.

Muchas Gracias por contestar. Es lo que gusta de este Foro que siempre terminan por dar una solución. GRACIAS y Que DIOS te BENDIGA ...
  #8 (permalink)  
Antiguo 30/01/2013, 18:14
 
Fecha de Ingreso: enero-2013
Ubicación: Lima
Mensajes: 38
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Ceros a la izquierda despues de una operacion

De esta manera es como esta el código donde calculo el promedio:

<input name="pr[]" type="text" id="pr[]" value="<?php $Promedio=($row_dat['l1']+$row_dat['l2']+$row_dat['l3'])/3; echo str_pad($prom, 2, "0", STR_PAD_LEFT); echo number_format($Promedio,0); ?>" size="3" style="text-align: center"/>

¿Qué esta mal en el código anterior?

Gracias ...
  #9 (permalink)  
Antiguo 30/01/2013, 18:42
 
Fecha de Ingreso: enero-2011
Mensajes: 94
Antigüedad: 13 años, 3 meses
Puntos: 7
Respuesta: Ceros a la izquierda despues de una operacion

Ha buscando soluciones espaciales a problemas sencillos

ejemplo de código

Código PHP:
Ver original
  1. $n1 = "10";
  2.  
  3. $n2 = "18";
  4.  
  5. $n3 = "14";
  6.  
  7. $total = "";
  8.  
  9.  
  10.  
  11.  
  12. $total = $n1 + $n2 + $n3;
  13.  
  14.  
  15. $promedio = $total / 3;
  16.  
  17.  
  18. if (($promedio) >= (0)  &&  ($promedio) <= (9))
  19. {
  20.         echo "0".number_format($promedio,0);
  21. }
  22.  
  23. else
  24. {
  25.         echo number_format($promedio,0);
  26. }


Bai Bai.
  #10 (permalink)  
Antiguo 30/01/2013, 19:11
 
Fecha de Ingreso: enero-2013
Ubicación: Lima
Mensajes: 38
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Ceros a la izquierda despues de una operacion

Ahora si salió. Estaba seguro que me ayudarían porque son unos TROMES.

Excelente tu ayuda NEDYER, nuevamente tú dándome solución.

si pudiera te daría 1 MILLÓN DE PUNTOS, pero no se puede.

Muchas gracias y que DIOS TE BENDIGA Y DE DOTE DE MAS INTELIGENCIA PARA AYUDAR A LOS DEMAS.

GRACIAS ... GRACIAS ... GRACIAS ... GRACIAS ... GRACIAS ... GRACIAS ... GRACIAS ... GRACIAS ... GRACIAS ... GRACIAS ... GRACIAS ... GRACIAS ... GRACIAS ... GRACIAS ... GRACIAS ... GRACIAS ...

Etiquetas: izquierda, mysql, operacion, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:41.