2009-07-29 9 views

risposta

8

Printf-as è una libreria di terze parti che gestirà questo. Here è il repository GitHub. Dal 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" 

Si gioca bene anche con le date:

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

Anche http://code.google.com/p/printf-as3/ –

+0

Sfortunatamente è troppo limitato per essere utile, cose come '% -12s' non funzionano. –

-1

L'unica funzione che conosco che stampa su uno standard output è trace() (solo a scopo di debug), che può assumere praticamente qualsiasi tipo di variabile.

Forse non ho capito la tua domanda.

+1

In realtà, voglio dire qualcosa come "sprinf". Non è necessario inviare il testo alla console. Ho bisogno di generare stringhe formattate. – ablmf

+0

Per cosa? Su un campo di testo? La digitazione è molto limitata in AS3 (Number, int, String, in pratica), penso che potresti volerci dare maggiori dettagli su ciò che vuoi fare. –

4

c'è la classi di formattazione che è possibile utilizzare o creare formattatori personalizzati.

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

+1

mx.formatters.Formatter è una classe base generica "lascia manipolare le stringhe" che non ha nessuna delle funzionalità di 'sprintf()', nemmeno la sostituzione del campo a-la MessageFormat di Java, che 'StringUtil' ha (da @Acatl Risposta di Pacheco). Non è nemmeno un codice ActionScript generico - dubito che abbia senso al di fuori di MXML. – Guss

7

pensa che si potrebbe essere alla ricerca di StringUtil.substitute()

un'occhiata qui: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/utils/StringUtil.html#substitute

+0

collegamento interrotto, provare questo: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/utils/StringUtil.html#substitute() –

+0

che ha detto, non mi piace: non ha nessuna delle funzionalità utili di printf e non offre alcuna funzionalità più di una semplice concatenazione di stringhe con '+' potrebbe fare. –

+0

Mentre StringUtil non ha la capacità di formattazione del numero di 'sprintf', è utile in quanto consente di separare la generazione del modello dall'azione di formattazione che è anche una utile funzionalità di' sprintf'. E il fatto che sia integrato e non richieda codice esterno è un grande vantaggio nel mio libro. – Guss