Ведущий ноль для чисел в JavaScript
Недавно понадобилось повторить работу С-функции printf() с параметром "%02d" на JavaScript. Получилась такая функция:
- function zeroField (val, numSize)
- {
- var outZero = "";
- var zeroCount = numSize - String(val).length;
- for (var x=0; x < zeroCount; ++x) outZero += "0";
- return outZero+val;
- }
Конечно, можно поработать со степенями. Но скорость будет уже не та.
- function zeroField (val, numSize)
- {
- var tmp = String (val);
- for (var x=numSize; x; --x)
- {
- if ( val < Math.pow (x, 10) )
- {
- tmp = "0" + tmp;
- }
- }
- return tmp;
- }
Ну и напоследок, для тех, у кого есть возможность подключать в проекте сторонние библиотеки: реализация printf() на Javascript.