Number, en plus d'être une classe, est également une fonction, tout comme le sont Array, Boolean et String. Elle permet de convertir un objet quelconque en une instance de Number.

Seulement, ce qui n'est pas précisé dans la doc, c'est que cette fonction suit les mêmes règles que parseInt, sans pouvoir toutefois lui passer de second paramètre, qui précise dans quelle base doit se faire la conversion. Ce qui signifie que :

  • Les chaines de caractères commencant par "0x" seront considérées comme héxadécimales
  • Les chaines de caractères commencant par "0" seront considérées comme octales.

Et c'est sur ce dernier point que je me suis fait avoir, en cherchant un long moment pourquoi mon "062" devenait 50... :\ J'ai donc du remplacer toutes mes conversions :var num:Number = Number("062") // num = 50
// par
var num:Number = parseInt("062", 10) // num = 62

Donc voilà, si ca peut profiter à quelqu'un.. ;)