¿Para que sirve el método "toString()" de el Objecto Number en Flash? En flash aparentemente no tiene ninguna utilidad, ya que flash no es estricto con la transformación de tipo de datos (Cast). Ejemplo:
Código :
var price:Number = 150;
var msg:String = "El articulo cuesta $"+num+" dolares(usd).";
trace(msg); //El articulo cuesta $150 dolares(usd).
Si flash fuera estricto nos marcaría error a la hora de publicar, pero no puesto que flash hace el cast automático de numero a string. En vez de que nosotros tuviéramos que hacer esto:
Código :
var msg:String = "El articulo cuesta $"+num.toString()+" dolares(usd).";
O esto:
Código :
var msg:String = "El articulo cuesta $"+String(num)+" dolares(usd).";
Ese es en teoría el uso método toString. Pero el método toString puede convertir un numero en base 10 a cualquier base.
Flash no distingue la base de un numero, cualquier numero que tu pongas lo interpretara en base 10. Por ejemplo, si ponemos este código:
Como puedes ver flash sólo maneja decimales. El método toString() nos regresa nuestro numero convertido a cualquier base**.
¿Por que nos lo regresa como un string si es un numero?
Por lo mismo que dije arriba, flash solo puede manejar números en base 10, y cualquier numero que tenga una base mayor a 10 usa letras. Miren como convierto el numero 15 a varias bases
Código :
var num:Number = 15;
trace(num.toString(16)); //nos regresa "f"
num = 256;
trace(num.toString(2));//nos regresa "100000000"
Que fácil, pero ¿Que pasa si yo tengo un número en otra base y lo quiero convertir a base 10? Es igual de fácil: hay una función global llamada parseInt(), la cual tiene dos parámetros
parseInt(number:String, base:Number);
El primero es el numero pero como un string, por lo que dijimos arriba, y el segundo es la base en la que esta el numero. Por ejemplo, aquí cambiaremos un numero binario a decimal:
Código :
var binary:String = "100000000";
var decimal:Number = parseInt(binary, 2);
trace(decimal); //nos regresa 256
Nota: Flash solo puede hacer conversiones de base 2 a base 36.
Solo se puede hasta base 36 porque flash solo usa letras y números, y para cualquier base que sea mayor a 36 se requiere usar caracteres "extraños".
Buenas tardes, me pueden explicar como se pasa un número de base cualquiera a base 10 y viceversa, pero en operaciones a lápiz, para mi hijo de secundaria. Gracias Por:Wendy Moguel_blog
me gustaria que me dieran la respuesta de esta pregunta ¡NUMEROS DADOS EN BASE 10 EN OTRAS BASES (2,3,4,5,6) Y VICEVERSA Por:kmila_blog
hola quisiera saber como rayos se usa esto Por:juliana_blog
LEONARDO HERNANDEZ H_blog :
HOLA
Me gustaria que me enviran un poco mas mas de informacion, sobre diversos tema todos seran bien benidos...
A mi me gustaria que me enviaran un curso de flash AS3 avanzado a mi correo certificado por Adobe. Leonardo Hernandez, en vez de esperar que alguien te envie algo a tu correo, porque no revisas los foros de clab, asì veras que te sera mucho mas productivo e incluso preguntar alguna duda que tengas en sus foros respectivos . PD: No escribas en mayusculas que pareciera que estuvieras gritando recuerda que del otro lado del monitor hay una persona. PD 2: te aconsejo leer las reglas del foro. Por:psycho-vnz
okas aver.. para comberti un numero cualkiera de base 10 a otras bases.. (2,3,4,5,6,7,8,9) se divide por la base ejemplo agarraremos cualkier numero en base 10 y dividiremos para comerbtirlo a base 8
63481 |8 1 \---- 7935 |8 7 \---- 991 |8 7 \---- 123 |8 3 \---- 15 |8 7 \---- 1 Entonces queda que 63481 de base 10 =173771 en base 8 para mas consultas preguntar al E-mail kelvincito_1485@hotmail.com Por:kelvincito_1485@hotmail.c
sdada Por:gonza_blog
SON CHIDOS PERO ABURREN MUCHO Por:KATYA -blog
Hola, gracias por tu aportacion kelvencito Por:Sonton-blog
la berdad esta chida pero aburre Por:lourdes-blog
mepueden decir como se pasa un numero de base 2 ah base 5 y viseversa es urgente grasias Por:anonimo-blog
como se convierte un numero de cualquier base a base decimal? Por:yose-blog
sdasds Por:ass-blog
no se entiende ni papa Por:daniela maria naranjo men
Muy buen tip eh! congratz!
Sólo para agregar que el método toString() es el método que se ejecuta para representar la clase (es mas complicado en as3 pero esa es otra historia).
Esto significa que al momento de hacer una concatenación -> "hola "+num+" chau" estamos haciendo en realidad "hola "+num.toString()+" chau".
De hecho es una cuestión del ecma y no tanto de flash. Por ejemplo en javascript:
Código :
function Num(){
}
Num.prototype.toString = function(){ return 5; }
var t = new Num();
alert(5 + t); // 10