Entradas con la etiqueta ‘numero’

JS – Hacer una Transición de un Valor Numérico

Publicado por Iván Gajate el 17 de septiembre de 2014 en JavaScript | Los comentarios están cerrados.

Hay una forma muy sencilla de hacer una interpolación entre dos valores numéricos. Un tween de un valor, como si lo hiciésemos de una posición o de la anchura de un objeto pero de un valor numérico.
Yo esto lo suelo usar para cambiar el volumen de un sonido.
Tan solo hay que envolver el valor que queramos interpolar en un objeto y hacer un tween con TweenMax como siempre:

var obj = {value:0};
TweenMax.to(obj, 1, {value:3, ease:Linear.easeNone, onUpdate:onUpdate});
function onUpdate() {
	console.log(obj.value);
}

En este ejemplo hago un tween desde 0 hasta 3 en 1 segundo.
Devolvería esto:

0
0.126
0.33
0.396
0.42000000000000004
0.471
0.522
0.573
0.6180000000000001
0.672
0.7230000000000001
0.771
0.8219999999999998
0.8699999999999999
0.9239999999999999
0.9719999999999999
1.023
1.071
1.1219999999999999
1.17
1.224
1.272
1.323
1.371
1.4249999999999998
1.4729999999999999
1.524
1.572
1.6230000000000002
1.674
1.722
1.7759999999999998
1.8239999999999998
1.875
1.9260000000000002
2.022
2.073
2.127
2.175
2.226
2.277
2.325
2.376
2.4269999999999996
2.4779999999999998
2.526
2.577
2.628
2.676
2.7270000000000003
2.775
2.8289999999999997
2.877
2.928
2.979

AS3 – Poner ceros delante de un número

Publicado por Iván Gajate el 2 de diciembre de 2009 en AS3, Flash | 21 comentarios »

Esta función devuelve un número con tantos dígitos como queramos, poniendo ceros delante:

function addZeroBefore(number:uint, digits:uint):String {
	var numDig:Number = digits-String(number).length;
	if (numDig<=0) {
		return String(number);
	}
	numDig = Math.pow(10, numDig);
	var stringDig:String = String(numDig).substring(1);
	return stringDig + String(number);
}

Ejemplo:

addZeroBefore(99, 4); //0099

Este tipo de funciones las voy a ir recopilando en una clase NumberUtils.

Descargar la clase Descargar NumberUtils.

Descargar todo el paquete es.yporqueno

Poner Puntos de Millar en un Número

Publicado por Iván Gajate el 29 de julio de 2009 en AS2, AS3, Flash | 15 comentarios »

Hoy me han pedido una función para dar formato a un número poniéndole los puntos de millar. Muy útil cuando se quiere poner precios que vienen de base de datos. Aquí va la función:

function puntoDeMillar(num:Number, separador:String=".", separadorDecimal:String=","):String {
	// Separo la parte entera de la decimal
	var entera:String = String(Math.floor(num));
	var decimal:String = "";
	var partes:Array = String(num).split(".");
	if (partes.length > 1) {
		decimal = separadorDecimal + partes[1];
	}
	var cadena:String = "";
	// Calculo el numero de bloques de tres digitos que tengo que hacer
	var bloques:Number = Math.floor(entera.length/3);
	if (bloques<1) {
		return entera;
	}
	// Pongo un separador (.) entre cada bloque
	for (var i = 0; i<bloques; i++) {
		cadena = entera.substr(-3*(i+1), 3)+cadena;
		if (i<bloques-1) {
			cadena = separador+cadena;
		}
	}
	// Pongo los primeros digitos a la izquierda del primer punto
	if (entera.length%3>0) {
		cadena = entera.substr(0, entera.length%3)+separador+cadena;
	}
	return cadena + decimal;
}

Para utilizarla

trace(puntoDeMillar(12345678.12));  // Devuelve 12.345.678,12


Por defecto pone un punto cada tres dígitos empezando por la derecha (respeta los decimales). Se puede pasar un segundo parámetro con el separador de miles que se quiera, y un tercero con el separador de decimales, ambos Strings. Sirve tanto para AS2 como AS3.