Foros del Web » Programando para Internet » PHP »

Formatear numeros con decimales

Estas en el tema de Formatear numeros con decimales en el foro de PHP en Foros del Web. Buenas. mi pregunta es si hay alguna forma de colorear los decimales de un numero. Ejemplo: Código PHP: $num  =  1234 , 03 ; $num_formateado  ...
  #1 (permalink)  
Antiguo 14/03/2009, 16:15
Avatar de nanduky  
Fecha de Ingreso: octubre-2008
Ubicación: Corbera del Llobregat
Mensajes: 33
Antigüedad: 11 años, 1 mes
Puntos: 2
Formatear numeros con decimales

Buenas.
mi pregunta es si hay alguna forma de colorear los decimales de un numero.

Ejemplo:

Código PHP:
$num 1234,03;

$num_formateado number_format($num,2,',','.');

echo 
$num_formateado
el resultado seria:

1.234,03

y yo busco esto:

1.234,03
que los decimales salgan en otro color.
  #2 (permalink)  
Antiguo 14/03/2009, 16:27
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 11 años, 4 meses
Puntos: 416
Respuesta: Formatear numeros con decimales

Una forma es, usando talvez sprintf o expresiones regulares.

Otra seria, en vez de usar el ',' para separar, pongas algo como ',<span class="color_rojo">' y al final de la cadena imprimir el cierre de la etiqueta span.

Si prefieres usar expresiones regulares, ve a la seccion de aportes y busca el que dice: Expresiones PCRE.
  #3 (permalink)  
Antiguo 14/03/2009, 21:19
Avatar de nanduky  
Fecha de Ingreso: octubre-2008
Ubicación: Corbera del Llobregat
Mensajes: 33
Antigüedad: 11 años, 1 mes
Puntos: 2
Respuesta: Formatear numeros con decimales

Gracias Ronruby, pero ya lo he podido solucionar.

Como me decias tu, no me funcionaba, y lo he hecho de esta manera:

Código PHP:

//El numero que uso    
$num '1234.06';      
    
//le doy el formato que quiero
$num_formateado number_format($num,',','.');    

//que me guarde los deciales despues de la coma
$decimales strstr($num_formateado,',');    

//obtengo la longitud de la cadena y le resto los 2 decimales y la coma
$longitud strlen($num_formateado)-3;      

//que me guarde el numero formateado desde el principio asta la longitud guardada 
$num_entero substr($num_formateado,0,$longitud);


//uno el numero entero con los decimales y el color. 
echo $num_entero.'<font color="#FF0000">'.$decimales.'</font>'
Es un poco royo, pero no llego a mas, y bastante trabajo me ha costado llegar a esta solucion.

Un saludo, amigo.
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 17:17.