Foros del Web » Creando para Internet » Flash y Actionscript »

insertar punto entre digitos dinamicamente??

Estas en el tema de insertar punto entre digitos dinamicamente?? en el foro de Flash y Actionscript en Foros del Web. hola a todos tengo un problema, es la primera vez que trabajo con esto. tengo una variable "puntos" que leo de un html, los valores ...
  #1 (permalink)  
Antiguo 02/06/2005, 21:31
 
Fecha de Ingreso: junio-2005
Mensajes: 2
Antigüedad: 19 años, 5 meses
Puntos: 0
insertar punto entre digitos dinamicamente??

hola a todos
tengo un problema, es la primera vez que trabajo con esto.
tengo una variable "puntos" que leo de un html, los valores de esta variable van desde 0 hasta 120000, el problema es que me entregan el valor sin separación de puntos de miles EJ: 8000, 120000, 2000, etc. y me pidieron que les colocara el punto. yo muestro el valor asi:

puntos_txt.text= puntos

se me ocurre que el proceso debería ser como identificar que si el texto tiene 4 caracteres debería insertar el punto después del primer caracter, asi 1000=1.000 y si el texto tiene 5 caracteres inserto el punto despues del segundo caracterer : 14000 = 14.000 y y si tiene 6 inserto el punto después del 3 caracter
120000 = 120.000
pero como lo hago?????
ayuda please,
gracias
  #2 (permalink)  
Antiguo 03/06/2005, 00:35
Avatar de bernethe  
Fecha de Ingreso: abril-2004
Ubicación: San José, Costa Rica
Mensajes: 384
Antigüedad: 20 años, 7 meses
Puntos: 2
Exclamación Este sirve PERO...

esta función sirve, PERO tiene 2 inconvenientes:

1) el numero a poner puntos, NO PUEDE TENER MÁS de 15 caracteres.

2) No funciona con numeros con decimales, ejemplo 12.567,25, SI SE PUEDE HACER, pero ya estoy cansado, talvez otro día.

hay te va el código:

Código:
function losPts(n:Number):String  {
	var sn:String = n.toString();
	var ta:Array = new Array();
	for (var i = sn.length; i>0; i -= 3) {
		ta.unshift(sn.substring(i-3, i));
	}
	return (ta.join(".")).toString();
}
trace(losPts(123456789012345));
Hay me avisas si te funcionó...
__________________
..::BERNETHE::..
  #3 (permalink)  
Antiguo 03/06/2005, 03:05
 
Fecha de Ingreso: mayo-2004
Mensajes: 50
Antigüedad: 20 años, 6 meses
Puntos: 1
Logaritmos

Estimad@ Compañer@: Lo que quieres hacer se hace con facilidad mediante los logaritmos matemáticos. Lo que tienes que hacer es convertir la cadena de caracteres a número y luego calcular el logaritmo en base 10 por exceso de ese número. Esa operación te da directamente el número de cifras que tiene el número y lo demás ya lo sabes, si tiene 4 cifras le pones el punto en el primer lugar, si tiene 5 cifras en el segundo lugar...etc.
De todos modos, se me ocurre una idea más sencilla. Como el número sólo oscila entre 0 y 120000, si te das cuenta, siempre vas a tener que poner el punto en el tercer lugar empezando por el final del número, así que, sin tener que ocnvertir la cadena a número, puedes calcular el número de dígitos de la cadena de caracteres (la longitud de la cadena, que se hace con una sencilla función). A éste número le restas 3 y en esa posición tienes que insertar el punto con lo que lo único que tienes que hacer es insertar en la cadena y en esa posición el carácter punto, que también hay otra función que hace ésto.

Saludos.

Eduardo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:18.