С точки зрения производительности, я предпочитаю использовать Постоянная струны и подстрока, например:
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;
}
}
}
Константа строки имеет очень небольшую опорную стойку по сравнению с отклонением производительности от продолжения строки по одной цифре много раз. В большинстве случаев (до 40 нулей в этом примере) количество инструкций одинаково для всех вызовов.
Голосование, чтобы закрыть. – dirkgently
Это действительно дубликат, хотя я никогда не нашел его в поисковой системе, потому что он не говорит о нуле, заполнении, формировании номера и имеет формулировку Ruby-like в названии. – lpfavreau
Да, это довольно неудачно. Надеюсь, твоя проблема разобралась. – dirkgently