Недавно понадобилось повторить работу С-функции printf() с параметром "%02d" на JavaScript. Получилась такая функция:

  1. function zeroField (val, numSize)
  2. {
  3.  var outZero = "";
  4.  var zeroCount = numSize - String(val).length;
  5.  for (var x=0; x < zeroCount; ++x) outZero += "0";
  6.  return outZero+val;
  7. }

Конечно, можно поработать со степенями. Но скорость будет уже не та.

  1. function zeroField (val, numSize)
  2. {
  3.  var tmp = String (val);
  4.  for (var x=numSize; x; --x)
  5.  {
  6.    if ( val < Math.pow (x, 10) )
  7.    {
  8.      tmp = "0" + tmp;
  9.    }
  10.  }
  11.  
  12.   return tmp;
  13. }

Ну и напоследок, для тех, у кого есть возможность подключать в проекте сторонние библиотеки: реализация printf() на Javascript.



Статью пока никто не комментировал. Ваш комментарий может стать первым.

Войдите или зарегистрируйтесь, чтобы написать комментарий.