Bienvenido a Klr20mg

Cronicas de un desarrollador

Actualmente soy Jefe de Desarrollo del area Flash en Sapotek de México en la cual trabajo desde hace mas de 4 años. Desarrollando aplicaciones en Flash para Web mas comúnmente llamadas (RIAs)

Estas en : Blog » Advanced round class AS3
  • Decrease font size
  • Default font size
  • Increase font size
  • color default
  • color verde
  • color azul
Advanced round class AS3
AddThis Social Bookmark Button
Post2PDF Print
March 31st, 2008

Esta es una clase de mucha ayuda para cuando queramos redondear números de una forma más avanzada.

AS3 cuenta con su Math.round pero esta función lo único que hace es redondear el numero al entero más cercano. Pero qué pasa si quiero redondear un número en múltiplos de 5 por ejemplo.

Para ello escribí esta sencilla clase que lo permite.

Actionscript:
  1. package net.tmeister.utils
  2. {
  3.     /**
  4.      *
  5.      * Advanced Round Class
  6.      * @version 0.1
  7.      * @author Enrique Chavez aka Tmeister
  8.      *
  9.     */
  10.     public class MathUtils
  11.     {
  12.         /**
  13.          *
  14.          * Rounds a Number to the nearest multiple
  15.          * @param   number Number to Round
  16.          * @param   precision multiple to be rounded
  17.          * @return  A number round
  18.          *
  19.          */
  20.         public static function roundToNear(number:Number, precision:Number)
  21.         {
  22.             return Math.round( number / precision) * precision;
  23.         }
  24.         /**
  25.          *
  26.          * Rounds a Number up to the nearest multiple
  27.          * @param   number Number to Round
  28.          * @param   precision multiple to be rounded
  29.          * @return  A number Up round
  30.          *
  31.          */
  32.         public static function roundToUpNear(number:Number, precision:Number)
  33.         {
  34.             return Math.ceil( number / precision) * precision;
  35.         }
  36.         /**
  37.          *
  38.          * Rounds a Number down to the nearest multiple
  39.          * @param   number number Number to Round
  40.          * @param   precision multiple to be rounded
  41.          * @return  A number down round
  42.          *
  43.          */
  44.         public static function roundToDownNear(number:Number, precision:Number)
  45.         {
  46.             return Math.floor( number / precision) * precision;
  47.         }
  48.     }
  49. }

Modo de uso es tan simple como esto.

Actionscript:
  1. import net.tmeister.utils.MathUtils;
  2.  
  3. const number:Number = 38
  4. const precision:Number = 5
  5.  
  6. trace(MathUtils.roundToNear(number, precision)) // 40
  7. trace(MathUtils.roundToUpNear(number, precision)) // 40
  8. trace(MathUtils.roundToDownNear(number, precision)) // 35

Enjoy ;)

Leave a Reply

 Blog editado por:

Enrique Chavez aka Tmeister
Si los codigos de este sitio te han ayudado y gustas ayudar de alguna forma:

 Compra Links

 Suscribete


AddThis Social Bookmark Button

 Archivo

2008
2007
2006
2005
2004