Bueno al grano
Código ActionScript :
//Todos estos traces devuelven NaN como debe ser trace(Number("22129012A")); //Resultado -> NaN trace(Number("22129012B")); //Resultado -> NaN trace(Number("22129012C")); //Resultado -> NaN trace(Number("22129012D")); //Resultado -> NaN trace(Number("22129012F")); //Resultado -> NaN //... //Pues bien si termina con la letra E devuelve el numero sin la letra y lo castea como number //ejemplo trace(Number("22129012E")); //Resultado -> 22129012
Así que esto me provoca un problema porque yo verifico los valores devuelto mediante el siguiente if
Código ActionScript :
trace(isNaN(Number("22129012F"))); //Resultado -> True
Si es NaN es que no es un numero, es una cadena y en consecuencia obro según el tipo de valor que sea, pero claro con este caso me rompe la lógica de comportamiento.
Código ActionScript :
trace(Number("22129012E")); //Resultado -> 22129012 (Number) - Deberia devolver NaN
Alguien sabe porque sucede, si es un bug o si hay alguna solución sencilla? a mí se me ocurre sustraer el ultimo digito o carácter para verificar que no sea un letra E y si lo es hacerle un comprobación especifica pero me parece un poco chapuza la cosa.
Solisarg que opinas?