Foros del Web » Programando para Internet » PHP »

Letras y decimales dentro de un prinf()

Estas en el tema de Letras y decimales dentro de un prinf() en el foro de PHP en Foros del Web. Por aquí con otra pregunta sencilla , pero a la cual no he encontrado solución en horas de búsqueda por la Internet ¿Como podría hacer ...
  #1 (permalink)  
Antiguo 06/10/2015, 11:35
Avatar de leo_search1  
Fecha de Ingreso: octubre-2011
Mensajes: 100
Antigüedad: 12 años, 5 meses
Puntos: 1
Pregunta Letras y decimales dentro de un prinf()

Por aquí con otra pregunta sencilla , pero a la cual no he encontrado solución en horas de búsqueda por la Internet

¿Como podría hacer para que la siguiente función reconozca letras y decimales dentro del prinf?

Explico dentro de esta misma:
<?php
function formato($c) {
printf("%08d<br>", $c);
}
// luego solo llamamos a la función...
formato(01A8); = ERROR (No reconoce letras)
formato(12125); = CORRECTO 00012125 (Solo decimales)
formato(1); = CORRECTO 00000001 (Solo decimales)
?>

No reconoce letras, ¿Se puede corregir esto?

Gracias
  #2 (permalink)  
Antiguo 06/10/2015, 11:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Letras y decimales dentro de un prinf()

Cita:
No reconoce letras, ¿Se puede corregir esto?
¿Ya consultaste en el manual para saber lo qué es permitido y lo que no?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 06/10/2015, 11:42
Avatar de leo_search1  
Fecha de Ingreso: octubre-2011
Mensajes: 100
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: Letras y decimales dentro de un prinf()

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Ya consultaste en el manual para saber lo qué es permitido y lo que no?


Solo agrega:
Valor entero en formato decimal...
Valor entero en formato hexadecimal con letras minúsculas...
Valor entero en formato hexadecimal con letras mayúsculas... y de mas.

No aparece ninguna similar o ¿Abría alguna otra forma?
  #4 (permalink)  
Antiguo 06/10/2015, 11:47
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Letras y decimales dentro de un prinf()

Cita:
¿Se puede corregir esto?
No, porque no es un error de printf(), sino tuyo.
Lo que deberías que hacer, a mi entender, es crear dentro de la función la lógica de análisis necesaria para crear la salida adecuada. Lo que quiero decir con esto analizar los parámetros y valores que entran para descomponeros de modo de poder lograr lo que quieres.
No lograrás es que te "funcione bien" en el esquema actual, porque lo que está pasando es que no lo usas correctamente. Intentas hacer una operación ilegal para la función.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 06/10/2015, 12:03
Avatar de leo_search1  
Fecha de Ingreso: octubre-2011
Mensajes: 100
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: Letras y decimales dentro de un prinf()

Cita:
Iniciado por gnzsoloyo Ver Mensaje
No, porque no es un error de printf(), sino tuyo.
Lo que deberías que hacer, a mi entender, es crear dentro de la función la lógica de análisis necesaria para crear la salida adecuada. Lo que quiero decir con esto analizar los parámetros y valores que entran para descomponeros de modo de poder lograr lo que quieres.
No lograrás es que te "funcione bien" en el esquema actual, porque lo que está pasando es que no lo usas correctamente. Intentas hacer una operación ilegal para la función.
Buscare como crear una salida adecuada, y luego volveré si me rindo

Etiquetas: décimales, funcion, letras
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 01:41.