Cristalab

                 ¿Quieres registrarte?

Cambiar la base de un numero con Number.toString();

Por: Cep
21 de Abril del 2007
1280 de clabLevel
Otros artículos de Cep
12,252 visitas

¿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:

Código :

var hex:Number = 0xF;
trace(hex); //nos regresa 15
hex += 5;
trace(hex); //nos regresa 20

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".


Artículos Relacionados


Etiquetas actionscript

Comentarios | Enviar un comentario
HOLA

Me gustaria que me enviran un poco mas
mas de informacion, sobre diversos tema
todos seran bien benidos...

OOEL2H@GMAIL.COM

GRACIAS ^.^
Por: LEONARDO HERNANDEZ H_blog
en el primer ejemplo tu variable declarada se llama "price", y en la salida por pantalla la llamas "num"...

Quisiera que probaras primero tus codigos y despues los publiques...
Por: Alejandro_blog
Que pongan ejemplos de bases quimicas
Por: adriana_blog
pongan bien l a transformacion
Por: poko_blog
como convierto un numero decimal enbase 5
Por: elizabeth_blog

adriana_blog :

Que pongan ejemplos de bases quimicas

:?
Por: penHolder
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...

OOEL2H@GMAIL.COM

GRACIAS ^.^

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 U_U 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



--fernando
Por: fernando
que bobos comentarios no se entiende¡¡¡¡¡
Por: laura-blog
enserio aburren


¡cojan oficio¡
Por: laura- blog-blog
puxa explikenc por las puras esta esta página o ke?
Por: xxxx-blog
Deja un comentario
IMPORTANTE

Recuerda ser respetuoso, no insultes a otras personas, ni uses palabrotas, hay una persona al otro lado de la pantalla.

Habla bien, NO ESCRIBAS EN MAYUSCULA TODO, no escribas como en un SMS, evita cosas como "ke", "x q" y demás abreviaciones.

Aquí funcionan las etiquetas de los foros, puedes usar [b] para negrita, [img] para las imágenes, [url] para los enlaces, etc.

Si tienes preguntas técnicas, envíalas mejor al foro.