С точки зрения производительности, я предпочитаю использовать строковую константу и substr, например:
package {
public class Helper {
private static const _ZEROS:String = "0000000000000000000000000000000000000000"; // 40 zeros, shorten/expand as you wish
/*
* f: positive integer value
* z: maximum number of leading zeros of the numeric part (sign takes one extra digit)
*/
public static function uint_Zeropadded(f:uint, z:int = 0):String {
var result:String = f.toString();
while (result.length < z)
result = _ZEROS.substr(0, z - result.length) + result;
return result;
}
}
}
Константа String имеет очень малую конечную отметку по сравнению с недостатками производительности, заключающимися в многократном увеличении длины строки на одну цифру. В большинстве случаев (до 40 нулей в этом примере) количество инструкций одинаково для всех вызовов.