数値のゼロ埋め(桁を揃える)

「00123」のように数字の先頭に「0」を付けて桁を揃えるには、String.padStartメソッドを使用することで実現できます。
String.padStartメソッドは揃えたい数字.padStart(桁数, 埋める文字)という感じで指定します。
第一引数の桁数は、揃えたい数字の桁数以下や負の数が指定された場合は、揃えたい数字そのままを返します。

JavaScript

const num = 123;

console.log(num.toString().padStart(5, '0')); // 00123
console.log(num.toString().padStart(3, '0')); // 123
console.log(num.toString().padStart(2, '0')); // 123

従来の方法

String.padStartメソッドを使用しない方法として、次のように関数化して作ることができます。

関数定義

JavaScript (ES5)

/**
 * 数値のゼロ埋め(桁を揃える)
 * @param {number|string} number 対象の数字
 * @param {number} digit 桁数
 * @return {string} ゼロが埋められた数字を返す
 */
var zeroPadding = function(number, digit) {
	var fillNumber = digit - String(number).length;

	return fillNumber > 0 ? (new Array(fillNumber + 1).join(0)) + number : number;
};

JavaScript (ES6以降)

/**
 * 数値のゼロ埋め(桁を揃える)
 * @param {number|string} number 対象の数字
 * @param {number} [digit=0] 桁数
 * @returns {string} ゼロが埋められた数字を返す
 */
const zeroPadding = (number, digit = 0) => {
	const fillNumber = digit - String(number).length;

	return fillNumber > 0 ? '0'.repeat(fillNumber) + number : number;
};

簡単な解説(ES5の場合)

引数の桁数から対象の数字の桁数を引いて、さらに1を足した数をnew Arrayの引数に指定して配列を生成します。
生成した配列をjoinメソッドを使用し"0"で結合します。
結合した0の文字を対象の数字と結合することで、ゼロ埋め(ゼロパディング)を実現します。

簡単な解説(ES6以降の場合)

引数の桁数から対象の数字の桁数を引いて、その数をstring.repeatメソッドで0を繰り返します。
結合した0の文字を対象の数字と結合することで、ゼロ埋め(ゼロパディング)を実現します。

使い方

JavaScript (ES5)

var result = zeroPadding( num, digit );

JavaScript (ES6以降)

const result = zeroPadding( num, digit );

引数

引数名 説明
第一引数
必須
num number 桁を揃える数値
第二引数
必須
digit number 桁数

戻り値

ゼロが埋められた数字の文字列を返します。

JavaScript (ES5)

var result = zeroPadding(1234, 6);

alert(result); // 001234

JavaScript (ES6以降)

const result = zeroPadding(1234, 6);

console.log(result); // 001234

JavaScript逆引きリファレンス一覧へ戻る