Foros del Web » Programando para Internet » PHP »

Quitar los decimales

Estas en el tema de Quitar los decimales en el foro de PHP en Foros del Web. Buenas; Tengo este número: 301.12 y quiero quitarle el punto. Lo he intentado con ereg_replace pero al ser un punto me sustitulle todos los números ...
  #1 (permalink)  
Antiguo 26/05/2004, 05:45
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 21 años, 10 meses
Puntos: 0
Quitar los decimales

Buenas;

Tengo este número: 301.12 y quiero quitarle el punto. Lo he intentado con ereg_replace pero al ser un punto me sustitulle todos los números y el punto por el parámetro dado.

¿Cómo lo hago?

Gracias
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
  #2 (permalink)  
Antiguo 26/05/2004, 05:52
 
Fecha de Ingreso: noviembre-2003
Mensajes: 78
Antigüedad: 20 años, 4 meses
Puntos: 2
ferent,

Podés utilizar la función intval() de PHP para obtener la parte entera del número, si deseas usar la expresión regular, no olvides de escapar el punto (.) con una barra invertida (\) para que lo tome como punto literal y no como un caracter especial.

Es decir \. en lugar de .

Saludos!
__________________
Joel A. Chornik
ELSERVER.COM - WebHosting Profesional
  #3 (permalink)  
Antiguo 26/05/2004, 05:53
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

floor(), ceil(), round(), number_format(), intval(). No es necesario usar expresiones regulares para todo. ¿Usas el martillo para atornillar?

Saludos.

PD: El . es un caracter especial en las expresiones regulares. Si quieres indicar el caracter ., debes escaparlo \.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 26/05/2004, 09:18
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 21 años, 10 meses
Puntos: 0
No quiero quitar los decimales, sólo el punto, para que el número 123.45 pase a ser 12345.
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
  #5 (permalink)  
Antiguo 26/05/2004, 09:24
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Bueno, entonces sin usar expresiones regulares: str_replace().

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 26/05/2004, 09:45
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 21 años, 10 meses
Puntos: 0
Gracias!! ¿pero podrías decirme que tiene tanto de malo las expresiones regulares?
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
  #7 (permalink)  
Antiguo 26/05/2004, 10:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues las expresiones regulares se deben usar cuando corresponda .. Son un proceso "extra" para el servidor para taréas que solventan otro tipo de funciones más optima en cuanto a tiempo de proceso como el caso de str_replace() ..

Ahora .. si tienes un "patron" que debas aplicar a cierta cadena .. las expresiones regulares van mejor tanto en "lógica" que debes emplear como en tiempo de proceso incluso ..

No es lo mismo tener un montón de bucles y condicionales .. que una simple expresión regular que para eso están .. Pero por lo mismo si el "patrón" es tan simple como "quitar/sustituir" un caracter o palabra en una cadena .. para eso están otras funciones de PHP que lo hacen igualmente y con menos consumo de recursos.

Si no fuera así .. tal vez PHP no tendría todo el montón de funciones para trabajar con cadenas (strings) y sólo tuviera las de expresiones regulares .. pero .. por algo es que están.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 12:03.