2009-07-29 12 views

Respuesta

8

Printf-as es una biblioteca de terceros que se encargará de esto. Here es el repositorio de GitHub. Desde el README:

printf("You can also display numbers like PI: %f, and format them to a fixed precision, 
     such as PI with 3 decimal places %.3f", Math.PI, Math.PI); 
// outputs: " You can also display numbers like PI: 3.141592653589793, 
// and format them to a fixed precision, such as PI with 3 decimal places 3.142" 

También juega bien con fechas:

var date : Date = new Date(); 
printf("Today is %d/%m/%Y", date, date, date); 
+2

También http://code.google.com/p/printf-as3/ –

+0

Lamentablemente, es demasiado limitado para ser útil, cosas como '% -12s' no funcionan. –

-1

La única función que sé que imprime en una salida estándar es trace() (solo para depuración), que puede tomar prácticamente cualquier tipo de variable.

Aunque no entendí tu pregunta.

+1

En realidad, quiero decir algo como "sprinf". No necesito enviar texto a la consola. Necesito generar cadenas formateadas. – ablmf

+0

¿Para qué? en un campo de texto? Escribir es muy limitado en AS3 (Number, int, String, básicamente), creo que es posible que desee proporcionarnos más detalles sobre lo que desea hacer. –

4

No es la clase de formateador que puede utilizar o crear formateadores personalizados.

http://livedocs.adobe.com/flex/3/html/help.html?content=createformatters_2.html

+1

mx.formatters.Formatter es una clase base genérica de "permite manipular cadenas" que no tiene ninguna de las capacidades de 'sprintf()', ni siquiera la sustitución de campo a-la MessageFormat de Java, que 'StringUtil' tiene (de @Acatl La respuesta de Pacheco). Tampoco es realmente un código genérico de ActionScript. Dudo que tenga sentido fuera de MXML. – Guss

7

piensa que podría estar buscando StringUtil.substitute()

echar un vistazo aquí: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/utils/StringUtil.html#substitute

+0

enlace roto, pruebe este: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/utils/StringUtil.html#substitute() –

+0

dicho, no me gusta: no tiene ninguna de las características útiles de printf, y no ofrece más funciones que una simple concatenación de cadenas con '+'. –

+0

Si bien StringUtil no tiene la capacidad de formato de número de 'sprintf', es útil porque permite separar la generación de la plantilla de la acción de formateo, que también es una característica útil de' sprintf'. Y el hecho de que está incorporado y no requiere código externo es una gran ventaja en mi libro. – Guss

Cuestiones relacionadas