elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  javascript Number.isInteger(10.0) retorna false
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: javascript Number.isInteger(10.0) retorna false  (Leído 2,214 veces)
SrTrp


Desconectado Desconectado

Mensajes: 325


Script/C#


Ver Perfil
javascript Number.isInteger(10.0) retorna false
« en: 1 Mayo 2020, 22:05 pm »

Bueno quiero saber si un numero es entero, para ello la variable que uso esta en un arreglo y pasa por varios métodos.
les pondré desde la inicialización hasta donde me retorna false.
Código
  1. //aqui la creo
  2. var posPy = [550, 11];
  3.  
  4. //aqui esta en un metodo donde empiezo a crear valores de decimal
  5. posPy = [posPy[0] - tplayer, posPy[1] - 0.2];
  6. posPy[1] = posPy[1].toFixed(1);  //solo quiero dejar un decimal por que me botana por ejemplo 10.8,10.700000000004,10.600000000002  y así iba por ello obte de que solo aceptara un decimal
  7.  
  8.  
  9. //aqui el ultimo metodo donde la uso
  10. var y = this.posPy[1];
  11.    console.log(y+", Estado="+Number.isInteger(this.posPy[1]));
  12.    if(Number.isInteger(this.posPx[1]) && Number.isInteger(this.posPy[1])){
  13. //AQUI JAMAS ENTRA POR QUE SIEMPRE ME RETORNA FALSE
  14. //inclusive llegue a pensar que no aceptaba numeros como 2.0, 9.0 pero hice un test manuel y si retorna true esos numeros
  15.  
  16.  


En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: javascript Number.isInteger(10.0) retorna false
« Respuesta #1 en: 1 Mayo 2020, 22:24 pm »

Number.prototype.toFixed siempre regresa un string. Lo más probable es que tengas un string "11.0" en lugar del número 11.


En línea

@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.397


Turn off the red ligth


Ver Perfil WWW
Re: javascript Number.isInteger(10.0) retorna false
« Respuesta #2 en: 1 Mayo 2020, 22:36 pm »

En tu ejemplo no tienes posPx definido en ningún sitio.

Haz un: alert(typeof(this.posPx[1])); justo antes del if, a ver si es un número o un objeto, o algo distinto.
Si usas por ejemplo new Number(10) estás creando un objeto, no un tipo number primitivo.
Ten cuidado con tu código y las conversiones implícitas. Estaría bien que pusieras todo el código si no es excesivamente grande para poder ver cual es el problema.


Probablemente si haces esto:
posPy[1] = +(posPy[1].toFixed(1));
se te solucione.
En línea

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

SrTrp


Desconectado Desconectado

Mensajes: 325


Script/C#


Ver Perfil
Re: javascript Number.isInteger(10.0) retorna false
« Respuesta #3 en: 1 Mayo 2020, 23:13 pm »

Gracias no tenia idea de que retornaba  string, pero ya lo arregle como me menciono @XSStringManolo
el posPx no omiti por que hacía el mismo procedimiento que posPy
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
KCN (Key Char Number) by WHK.
Programación Visual Basic
WHK 3 1,635 Último mensaje 27 Julio 2007, 06:37 am
por ActiveSheet
Sequency number
Redes
tragantras 1 2,029 Último mensaje 29 Junio 2010, 14:29 pm
por MazarD
PROBLEMA: Al Comparar dos input text con javascript 10<2 me da false
Desarrollo Web
demonstrator 6 5,617 Último mensaje 10 Septiembre 2014, 05:13 am
por JorgeEMX
Diferencias entre funcion que retorna y no retorna.
Programación C/C++
FKT 7 3,868 Último mensaje 21 Agosto 2015, 00:31 am
por FKT
[javascript] el metodo lenght me retorna "undefined" ?
Scripting
br7 2 2,282 Último mensaje 5 Marzo 2016, 18:16 pm
por br7
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines