Interfaz: determina si los datos de entrada son un número entero

ES6 proporciona Number.isInteger 

Debido a que el valor obtenido es generalmente una cadena, primero conviértalo en parseInt () y luego juzgue

PD: Debido a que parseInt () es una combinación de números y no números, si comienza con una letra, devuelve directamente NaN, porque la parte del número no se intercepta y no se puede obtener el entero, se devolverá NaN. Si comienza con un número, intercepte la parte numérica, deje de interceptar cuando encuentre un punto decimal o que no sea un dígito y devuelva el resultado. Entonces, console.log ("Si los datos modificados son un entero ==>", Number.isInteger (parseInt (valor))) es defectuoso. (Gracias al amigo del código por sugerir el defecto ♪ (・ ω ・) ノ)

Solución: antes y después de usar parseInt, juzgue si las dos cadenas tienen la misma longitud.

 

parseInt('a123');//----------返回NaN
parseInt('1a23’);// ---------返回1
parseInt('12a.3');// ---------返回12
parseInt('123.a1');//----------返回123
parseInt('0a11');//-----------返回0
value = "5lkk"
value2 = parseInt(value)
console.log("value=",value) 
console.log("value.length=",value.length ) 
console.log("value2=",value2 ) 
console.log("String(value2).length=",String(value2).length) 
if(value.length == String(value2).length && Number.isInteger(value2)){
console.log("整数") 
}else console.log("bushi整数") 

// console.log("修改后的数据是否为整数==>",Number.isInteger(parseInt(value)))
//PS:因parseInt()若是数字与非数字组合,如果是字母打头,直接返回NaN,因为没有截取到数字部分,取不到
//整数,将返回NaN。如果是数字打头,截取数字部分,遇到非数字或者小数点停止截取,返回结果。所以console.log("修改后的数据是否为整数==>",Number.isInteger(parseInt(value))) 有缺陷。
Number.isInteger(10) // true
Number.isInteger(3.3) // false
Number.isInteger('') // false
Number.isInteger('3') // false
Number.isInteger(true) // false
Number.isInteger([]) // false

 

 

Supongo que te gusta

Origin blog.csdn.net/weixin_38676276/article/details/107473436
Recomendado
Clasificación