Foros del Web » Programando para Internet » PHP »

Como funciona printf???

Estas en el tema de Como funciona printf??? en el foro de PHP en Foros del Web. Hola he visto varios tutoriales del funcionamiento de printf y de sprintf (Su formato)pero no consigo entender lo Alguien sabe un tutorial que lo explique ...
  #1 (permalink)  
Antiguo 19/10/2012, 15:22
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 3 meses
Puntos: 29
Como funciona printf???

Hola he visto varios tutoriales del funcionamiento de printf y de sprintf (Su formato)pero no consigo entender lo

Alguien sabe un tutorial que lo explique de una forma mas facil y con mas detalles ??

O si alguien me lo puede explicar ?

Saludos :)
  #2 (permalink)  
Antiguo 19/10/2012, 17:04
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Como funciona printf???

Es sencillo, simplemente se especifica algún tipo de formato y los argumentos tratarán de ajustarse a el, no veo la complicación.

Una buena manera de entender las cosas es haciendo practicas, no siempre la teoría ayuda del todo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 19/10/2012, 17:10
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Como funciona printf???

Creo que el manual de PHP lo explica bastante masticado. (Incluso bastante pedagógico)

http://www.php.net/manual/es/function.sprintf.php

Al igual que te recomienda pateketrueke creo que es bueno que leas la teoria, pon en practica los ejemplos que te colocan en el manual y por ultimo genera tus propios ejemplos para que te quede muy claro el concepto.
__________________
Blog de humor http://elcuasatar.net63.net/
  #4 (permalink)  
Antiguo 20/10/2012, 03:44
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 3 meses
Puntos: 29
Respuesta: Como funciona printf???

Hola gracias por sus respuestas pero yo ya bi el manual...

Y aqui tengo un ejemplo que no lo consigo entender. Bueno se lo que hace pero por ejemplo no se como cambiar lo. Es:

%02d

Lo que hace es que si el numero es solo 1 caracter entonces le anade 0 al principio.
El numero debe ser de 2 caracteres y si es necesario se le anade un 0 .
Pero con esta teoria deberia de funcionar si cambio el 0 por una letra :

%j2s

Si lo ago luego me sale fatal...
Igual no me sale :(

Saludos
  #5 (permalink)  
Antiguo 20/10/2012, 10:32
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Como funciona printf???

Cita:
Hola gracias por sus respuestas pero yo ya bi el manual...
Me puesto 100 euros a que no has leido bien el manual. Con verlo no es suficiente.

la prueba? aqui la tienes

Cita:
d - el argumento es tratado como un integer y presentado como un número decimal (con signo).
Si colocas una j en lugar de un entero pues es claro que no va a funcionar. Le estas diciendo claramente que el argumento debe ser tratado como un entero.

Cita:
Un especificador de relleno opcional que indica qué carácter se utiliza para rellenar el resultado hasta el tamaño correcto de string. Este puede ser un caracter de espacio o un 0 (el caracter cero). El valor por defecto es rellenar con espacios. Un caracter de relleno alternativo se puede especificar colocándole un prefijo de una comilla simple ('). Ver los ejemplos mas adelante.
No quiero ser repetitivo pero por favor: Lee el manual, entiende los ejemplos sencillos que ahí colocan y por último genera tus propios ejemplos para asegurarte que has entendido bien el concepto. Si alteras este orden te demoraras años en lograr entender las cosas mas sencillas.
__________________
Blog de humor http://elcuasatar.net63.net/

Última edición por cuasatar; 20/10/2012 a las 11:30
  #6 (permalink)  
Antiguo 20/10/2012, 13:51
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 3 meses
Puntos: 29
Respuesta: Como funciona printf???

Cita:
Iniciado por cuasatar Ver Mensaje
Me puesto 100 euros a que no has leido bien el manual. Con verlo no es suficiente.

la prueba? aqui la tienes



Si colocas una j en lugar de un entero pues es claro que no va a funcionar. Le estas diciendo claramente que el argumento debe ser tratado como un entero.



No quiero ser repetitivo pero por favor: Lee el manual, entiende los ejemplos sencillos que ahí colocan y por último genera tus propios ejemplos para asegurarte que has entendido bien el concepto. Si alteras este orden te demoraras años en lograr entender las cosas mas sencillas.
Hola gracias por sus respuestas y ya entiendo bastante mas de los formatos :)
Simplemente tengo una duda de por ejemplo si haces esto:

Código PHP:
Ver original
  1. $numero=3;
  2. printf("El numero es: %'s3d",$numero);

Pero si quiero que si el $numero sea menor de 3 no solo se le anade un "s" si no que se le anadan mas caracteres como una oracion o algo...

Salugos
  #7 (permalink)  
Antiguo 21/10/2012, 06:25
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Como funciona printf???

Cita:
Pero si quiero que si el $numero sea menor de 3 no solo se le anade un "s" si no que se le anadan mas caracteres como una oracion o algo...

Salugos
Es la cosa mas extraña que alguna vez he escuchado. Uno generalmente necesita formatear las cadenas para colocarlo mas estetico dentro de la pagina o realizar cosas como la siguiente:

Código PHP:
//ejemplo sacado del libro domine php y mysql de jose quijado
$precio1=68.75;
$precio2=54.35;
$precio=$precio1+$precio2;
echo (
"el valor de \$precio es $precio<br>");
$formateado =$sprintf("%.2f €",$precio);
echo (
"el mismo valor formateado es $formateado<br>"); 
En este ejemplo como se ve se realiza la operación, se formatea el número y de paso se le coloca el simbolo del euro.

Para mi no tiene ningún sentido ponerle a un número un arreglo que rellene con cosas como una oración completa o algo por el estilo, para esa gracia se imprime directamente.

Lo que si podrias de pronto probar (no lo he echo) seria colocar una expresión tipo '(*_) a ver si de pronto funciona o algo asi como '*'_ Igual no las he probado jamas y es porque lo que planteas para mi no tiene sentido práctico.

Igual creo que con el ejemplo que te muestro es algo mas real y en ese sentido si podrias probar escribir euros en lugar del simbolo €. Ya es cuestión de que lo pruebes y nos comentas los resultados para que todos aprendamos.
__________________
Blog de humor http://elcuasatar.net63.net/
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 22:04.