¿Esto es normal?
newItemRowNumber '0.11' parseInt(newItemRowNumber) 0Esperaría que no sea analizable.
parseInt analiza la cadena para los números reales 0-9 al comienzo de la cadena. Cuando encuentra un carácter no entero, deja de analizar, en este caso el .
19aaa se convierte en 19
0.11 se convierte en 0
11.111 se convierte en 11
abc11 se convierte en NaN
0xDEAD se convierte en 57005 (debido a los números hexadecimales)
Desde MDN :
Si parseInt encuentra un carácter que no es un número en la base especificada, lo ignora y todos los caracteres subsiguientes y devuelve el valor entero analizado hasta ese punto. parseInt trunca números a valores enteros. Se permiten espacios iniciales y finales.
0 es un número.
. no es.
Entonces toma el 0 , ignora el . , ignora todo después del . , y obtienes 0 .
Esto es normal porque parseInt simplemente cortará la parte fraccionaria de la cadena numérica dada. Y devuelva el valor int del número del lado izquierdo del punto. Aquí está Link parseInt() en JS .
Como está analizando el flotador, es mejor que pueda usar parseFloat ()
console.log(parseFloat("0.11")) >>0.11