Foros del Web » Programando para Internet » PHP »

usar split para separar numeros

Estas en el tema de usar split para separar numeros en el foro de PHP en Foros del Web. Quiero separar numeros decimales +/- asi(para tener los enteros y los decimales por separado) : $var = $regis['cantidad']; $m = split(".",$var); pero no funciona , ...
  #1 (permalink)  
Antiguo 05/11/2007, 14:39
Avatar de Dixi  
Fecha de Ingreso: octubre-2007
Ubicación: Bolivia
Mensajes: 14
Antigüedad: 16 años, 6 meses
Puntos: 0
usar split para separar numeros

Quiero separar numeros decimales +/- asi(para tener los enteros y los decimales por separado) :

$var = $regis['cantidad'];
$m = split(".",$var);

pero no funciona , ni siquiera el siguiente codigo:

$vv= "a.b.c.d.e";
$mx = split(".",$vv);

alguna sugerencia ¿?
  #2 (permalink)  
Antiguo 05/11/2007, 17:35
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Re: usar split para separar numeros

No me queda del todo claro lo que quieres hacer . Si pudieras detallar tu problema un poco más estaria excelente.

Saludillos.
  #3 (permalink)  
Antiguo 05/11/2007, 18:36
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Re: usar split para separar numeros

Dixi: saca el entero con intval() y luego resta

$numerito = 12.51;
$entero = intval($numerito);
$decimales = $numerito - $entero;
  #4 (permalink)  
Antiguo 05/11/2007, 19:11
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 3 meses
Puntos: 13
Re: usar split para separar numeros

Dixi:

En la función split() el primer parámetro siempre es procesado como una expresión regular. Y el punto (que utilizas como separador) es un caracterespecial de las expresiones regulares, por eso no funciona con tu ejemplo. Soluciones:

A) Escapar el punto al llamar la función, para que lo procese de manera literal y no como un caracter especial.
Código PHP:
$vv"a.b.c.d.e";
$mx split("\.",$vv); 
B) Utilizar la función explode (recomendada, ya que no necesitas de expresiones regulares para tu caso).
Código PHP:
$vv"a.b.c.d.e";
$mx explode(".",$vv); 
__________________
El conocimiento es libre: Movimiento por la Devolución
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 04:38.