2009-07-29 2 views

ответ

8

Printf-as - это сторонняя библиотека, которая будет обрабатывать это. Here - это репо GitHub. Из 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" 

Он также хорошо играет с датами:

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

Также http://code.google.com/p/printf-as3/ –

+0

К сожалению, он слишком ограничен, чтобы быть полезным, такие вещи, как '% -12s', не работают. –

-1

Единственная функция, которую я знаю, которая печатает на стандартный вывод, - это trace() (только для целей отладки), которая может принимать практически любой тип переменной.

Возможно, я не понял ваш вопрос.

+1

На самом деле, я имею в виду что-то вроде "sprinf". Мне не нужно отправлять текст на консоль. Мне нужно сгенерировать форматированные строки. – ablmf

+0

Зачем? На текстовом поле? Ввод текста очень ограничен в AS3 (Number, int, String, в основном), я думаю, вы можете дать нам более подробную информацию о том, что вы хотите сделать. –

4

Существует классы Formatter, которые можно использовать или создавать пользовательские форматирования.

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

+1

mx.formatters.Formatter - общий базовый класс «позволяет манипулировать строками», который не имеет никаких возможностей 'sprintf()', даже не заменяет поля a-la Java MessageFormat, который 'StringUtil' имеет (из @Acatl Ответ Пачеко). Это тоже не ActionScript generic - я сомневаюсь, что это имеет смысл вне MXML. – Guss

7

думаю, что вы могли бы искать StringUtil.substitute()

посмотрите здесь: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/utils/StringUtil.html#substitute

+0

неработающая ссылка, попробуйте эту: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/utils/StringUtil.html#substitute() –

+0

что сказал, мне это не нравится: он не имеет ни одной из полезных функций printf, и он не предлагает никакой функции, кроме простой конкатенации строк с помощью '+'. –

+0

Хотя StringUtil не имеет возможности форматирования чисел 'sprintf', это полезно в том смысле, что позволяет отделить генерацию шаблона от действия форматирования, что также является полезной функцией' sprintf'. И тот факт, что он встроен и не требует внешнего кода, является большим плюсом в моей книге. – Guss