com.neolao.data.NumberUtils
Méthodes utiles liées aux nombres.
Méthodes
Visibilité | Return | Nom | Param 1 | Param 2 | Param 3 | Param 4 | Description |
---|---|---|---|---|---|---|---|
static public | String | nChar | pNum:Number | pN:Number | pZero:Boolean | pRight:Boolean | Formate un nombre sur n caractères. |
static public | String | twoChar | pNum:Number | Formate un nombre sur 2 caractères 1) | |||
static public | Number | radian | pDegree:Number | Convertion d'un degree en radian | |||
static public | Number | degree | pRadian:Number | Convertion d'un radian en degree | |||
static public | Number | length | pNum:Number | Indique le nombre de chiffre d'un nombre | |||
static public | Boolean | divisible | pNum:Number | pDiviseur:Number | Indique si un nombre est divisible par un autre | ||
static public | Void | incrementLimit | pObjet:Object | pPropriete:String | pLimite:Number | pNombre:Number | Incrémenter une propriété sans dépasser la limite |
static public | Void | decrementLimit | pObjet:Object | pPropriete:String | pLimite:Number | pNombre:Number | Décrémenter une propriété sans dépasser la limite |
static public | Number | round | pNumber:Number | pDecimal:Number | Arrondir un nombre en spécifiant le nombre de décimales |
Source
/** * Méthodes utiles liées aux nombres * @author neolao <neo@neolao.com> * @version 2.2 (30/01/2004) * @link http://resources.neolao.com/flash/classes/data/NumberUtils * @license http://creativecommons.org/licenses/by-sa/2.0/ */ class com.neolao.data.NumberUtils { public static var className:String = "NumberUtils"; public static var version:String = "2.2"; /*========================== METHODES PUBLIQUES ==========================*/ /*========================================================================*/ /** * Formate un nombre sur n caractères. * @param pNum Le nombre à formater * @param pN Le nombre de caractère total * @param pZero true pour utiliser des zero, false pour des espaces [option = true] * @param pRight true pour compléter à droite, sinon à gauche [option = false] * @return Le nombre sous forme chaine de pN caractères */ public static function nChar(pNum:Number, pN:Number, pZero:Boolean, pRight:Boolean):String { var vAfficheZero:Boolean = (pZero == undefined)?true:pZero; var vDiff:Number = pN - pNum.toString().length; var vReste:String = ""; if(vDiff > 0){ for(var i=0; i<vDiff; i++){ vReste += (vAfficheZero)?"0":" "; } } return (pRight)?pNum + vReste:vReste + pNum; } /** * Formate un nombre sur 2 caractères (si le nombre est inférieur à 10, un 0 est ajouté à gauche) * @param pNum Le nombre à formater * @return Le nombre sur 2 caractères */ public static function twoChar(pNum:Number):String{ return nChar(pNum, 2); } /** * Convertion d'un degree en radian * @param pDegree Le nombre à convertir * @return L'équivalent radian */ public static function radian(pDegree:Number):Number{ return pDegree*Math.PI/180; } /** * Convertion d'un radian en degree * @param pRadian Le nombre à convertir * @return L'équivalent degree */ public static function degree(pRadian:Number):Number{ return pRadian*180/Math.PI; } /** * Indique le nombre de chiffre d'un nombre * @param pNum Le nombre à traiter * @return La taille de ce nombre */ public static function length(pNum:Number):Number{ return pNum.toString().length; } /** * Indique si un nombre est divisible par un autre * @param pNum Le nombre à diviser * @param pDiviseur Le diviseur * @return true si pNum est divisible par pDiviseur, sinon false */ public static function divisible(pNum:Number, pDiviseur:Number):Boolean{ var vOperation:String = String(pNum/pDiviseur); return (vOperation.indexOf(".") == -1)?true:false; } /** * Décrémenter une propriété sans dépasser la limite * @param pObjet L'objet qui possède la propriété à modifier * @param pPropriete La propriété à modifier * @param pLimite La limite de la décrémentation * @param pNombre De combien il faut décrémenter */ public static function decrementLimit(pObjet:Object, pPropriete:String, pLimite:Number, pNombre:Number){ var vValeurCourante:Number = pObjet[pPropriete]; var vValeurSuivante:Number = vValeurCourante - pNombre; if(vValeurSuivante < pLimite){ pObjet[pPropriete] = pLimite; }else{ pObjet[pPropriete] = vValeurSuivante; } } /** * Incrémenter une propriété sans dépasser la limite * @param pObjet L'objet qui possède la propriété à modifier * @param pPropriete La propriété à modifier * @param pLimite La limite de l'incrémentation * @param pNombre De combien il faut incrémenter */ public static function incrementLimit(pObjet:Object, pPropriete:String, pLimite:Number, pNombre:Number){ var vValeurCourante:Number = pObjet[pPropriete]; var vValeurSuivante:Number = vValeurCourante + pNombre; if(vValeurSuivante > pLimite){ pObjet[pPropriete] = pLimite; }else{ pObjet[pPropriete] = vValeurSuivante; } } /** * Arrondir un nombre en spécifiant le nombre de décimales * @param pNumber Le nombre à arrondir * @param pDecimal Le nombre de chiffres après la virgule [OPTION=0] * @return Le nombre arrondi */ public static function round(pNumber:Number, pDecimal:Number):Number{ var vDecimal:Number = pDecimal || 0; var vMultiply:Number = Math.pow(10, vDecimal); return Math.round(vMultiply * pNumber)/vMultiply; } /*==================== FIN = METHODES PUBLIQUES = FIN ====================*/ /*========================================================================*/ }
1)
si le nombre est inférieur à 10, un 0 est ajouté à gauche