Foros del Web » Programando para Internet » Javascript »

Como sobreescribir el método parseInt()??

Estas en el tema de Como sobreescribir el método parseInt()?? en el foro de Javascript en Foros del Web. Hola a todos,alguien sabe como sobreescribir el metodo parseInt() .El problema es que este trunca el valor que se le pase como parametro;es decir: " ...
  #1 (permalink)  
Antiguo 24/10/2007, 08:57
 
Fecha de Ingreso: agosto-2006
Ubicación: Cuba
Mensajes: 23
Antigüedad: 18 años, 3 meses
Puntos: 0
Pregunta Como sobreescribir el método parseInt()??

Hola a todos,alguien sabe como sobreescribir el metodo parseInt().El problema es que este trunca el valor que se le pase como parametro;es decir:

" 3454355" devuelve 3454355;
"123asdasdas" devuelve 123

Lo que realmente quiero es verificar si es un numero o no.

salu2s
yosvany
  #2 (permalink)  
Antiguo 24/10/2007, 09:13
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Re: Como sobreescribir el método parseInt()??

Hola:

Una idea es comparar la cadena con el valor parseado primero a entero y luego otra vez a cadena:

<html>
<body onload="x = '123x';alert((x == parseInt(x).toString()) ? 'igual': 'distinto')">
</body>
</html>

Prueba ese código con valores núméricos válidos y otros...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 24/10/2007, 14:37
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 10 meses
Puntos: 13
Re: Como sobreescribir el método parseInt()??

Otra opción sería verificar si es número mediante expresiones regulares:

Código:
valor = "3456";
patron = /^(\d)+$/;
alert(patron.test(valor));
__________________
El conocimiento es libre: Movimiento por la Devolución
  #4 (permalink)  
Antiguo 24/10/2007, 15:58
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 1 mes
Puntos: 45
Re: Como sobreescribir el método parseInt()??

Hola:

Hombre, sobreescribirla me parece un poco tontería... nunca sabes cuándo la vas a necesitar. Pero si realmente te interesa, basta con escribir una función con el mismo nombre. Lo que he hecho, por ejemplo, es un nuevo parseInt() que puede servirnos algún día (pero insisto, yo la llamaría de otra manera):

Código:
function parseInt(n) {
	var encontrado = n.toString().match(/(\d)*/g);
	return Number( encontrado.join("") );
}

document.write( parseInt("23a3s123ashk7") );
Lo que hace es formar un número con todas las cifras numéricas que encuentra en la cadena... quizás le sirva a alguien.


Un saludo
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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 18:46.