Actionscript3.0, Flash

enero 2011

Actionscript 3: Formatear números en tiempo real

Lo primero que tenemos que hacer para ir formateando el texto mientras el usuario escribe es añadir un listener para el evento change al campo de texto:

Es importante que utilicemos el evento Event.CHANGE en lugar del TextEvent.INPUT, ya que el segundo se distribuye antes de que el campo se haya actualizado. Es decir, que si escribimos una «a» en el campo, flash lanza el evento TextEvent.INPUT, actualiza el valor .text del campo y lanza el eveno Event.CHANGE.

Después creamos la función que recoja el evento:

En esta función hacemos dos cosas. Primero cogemos el texto del campo, le quitamos los puntos y lo mandamos a la función que lo va a formatear:

Después ponemos el cursor al final del campo para que el usuario pueda seguir escribiendo al final del número:

La función que evalúa el número y le pone los puntos es esta:

 

Y los archivos fuente:

Descargar fuentes