14 maggio 2011

Javascript: parseint per valori "08" e "09"

Indice dei tutorials: http://gheryd.blogspot.com/2011/06/javascript-gwt-tutorials.html

Se usate la funzione parseInt per i valori "08" e "09" (nel mio caso si riferivano ai mesi di agosto e settembre formattati a due cifre)

var n = parseInt("08") ;   // n = 0
var n = parseInt("09") ;   // n = 0

il risultato sarà sempre 0 (zero) perchè vengono interpretati come numeri a base ottale.

Occorre specificare la base numerica decimale (10) nel secondo argomento:

var n = parseInt("08", 10);   // n = 8
var n = parseInt("09", 10);   // n = 9

In generale consiglio sempre un controllo per verificare se il parsing ha avuto buon esito come nell'esempio seguente:

var s = prompt("insert a integer");
var n = parsInt(s, 10);
if(  isNaN(n) ) {
    alert("is not a number");
}else {
   alert("is number");
}



Nessun commento:

Posta un commento