... c'è un piccolo problema con alcune versioni di JS, te lo illustro qui di seguito:
Codice:
var a = parseInt ("83") // a = 83
var b = parseInt ("xy") // b = "NaN"
var c = parseInt ("8u") // c = 8 ==> SBAGLIATO!
quello che ti consiglio di fare è implementare da te una funzione parseInt() che realizzi quanto detto, questa è la prima che mi viene in mente (che, tra l'altro, utilizza in modo "sicuro" le funzioni standard):
Codice:
function myParseInt (numberString)
{
// elimina gli spazi iniziali
while (numberString.indexOf (" ") == 0)
numberString = numberString.substring (1)
// elimina gli spazi finali
while (numberString.lastIndexOf (" ") == numberString.length () - 1)
numberString = numberString.substring (0, numberString.length () - 1)
// inizia la conversione
var n = 0, i = 0, sign = 1
while (i < numberString.length ())
{
var ch = numberString.charAt (i)
if (ch == "-" && i == 0)
// segno negativo: cambia il segno al numero
sign = -1
else if (isNaN (ch))
// carattere non valido: non è un numero, punto e basta!
return NaN
else
// aggiunge la nuova cifra al numero
n = n * 10 + parseInt (ch)
}
return sign * n
}
il risultato di questa funzione è il numero convertito, se questo è un intero, oppure "NaN" se questo non lo era.
Stammi bene...