En el post anterior mostraba una funcion para redondear un numero a un numero especifico de decimales.
Puse esa funcion en una clase (LaoMath), y le agruege una caracteristica mas: si quisiera redondear 65.6565 a dos decimales, uso el metodo round de mi clase LaoMath:
- import com.innocuo.utils.LaoMath;
- var num:Number = 65.6565;
- trace(LaoMath.round(num,2)); //devuelve 65.66
Facil, verdad? ahora, si quiero mostrar el resultado con 4 decimales (en el ejemplo, el resultado deberia tener dos ceros mas al final), el codigo es:
- import com.innocuo.utils.LaoMath;
- var num:Number = 65.6565;
- trace(LaoMath.round(num,2,4)); //devuelve 65.6600
En el ejemplo LaoMath.round es el metodo que utilizo para redondear el numero, num es el numero que quiero redondear, 2 es la posicion decimal a la que quiero redondear, y 4 es el numero minimo de decimales que debo tener. Atencion, que es el numero minimo, asi que en este otro ejemplo, no funcionaria igual:
- import com.innocuo.utils.LaoMath;
- var num:Number = 65.6565;
- trace(LaoMath.round(num,2,1)); //devuelve 65.66
En este caso pido que el numero devuelto tenga como minimo 1 decimal, pero estoy redondeando a dos decimales, asi que ese parametro se ignora.
Ahora, una caracteristica especial de este metodo es que permite no solo redondear a un numero decimal, sino tambien a decenas, centenas, miles, etc. Como? simplemente asignando un numero negativo al segundo parametro (la funcion entendera que estoy redondeando hacia la izquierda). Por ejemplo:
- import com.innocuo.utils.LaoMath;
- var num:Number = 65.6565;
- //redondear por decenas
- trace(LaoMath.round(num,-1)); //devuelve 70
- //redondear por centenas
- trace(LaoMath.round(num,-2)); //devuelve 100
- //redondear por centenas, y mostrar el resultado con 3 decimales
- trace(LaoMath.round(num,-2,3)); //devuelve 100.000
- //OJO, si redondeo 65.6565 a miles, el resultado sera 0
- trace(LaoMath.round(num,-3)); //devuelve 0
Espero que estos ejemplos sean de utilidad. La clase es gratuita (si algun dia tengo tiempo, añadire otros metodos de interes).
bajar codigo: laomath.zip
documentacion: link
codigo fuente: link