Javascript

ゼロパディングとは?超初心者のJavascriptの勉強

Javascript

ゼロサプレスと同様ゼロパディングという言葉を耳にしたので調べてみました。

ゼロパディングとは

ゼロパディング( Zero padding )とは、「ゼロ詰め」という意味です。
例えば「1」と「238」という数字が混在していて桁数を揃えたいときに「1」を「001」とすることをゼロパディングといいます。

反対に0を取り除くことをゼロサプレスと言います。

Javascriptでゼロパディングしてみる

せっかくなのでゼロパディングを実際にJavascriptでできるようになりたいと思います。

少し調べてみたところゼロパディングは自分でメソッドを作成する必要があるようです。

4桁に揃えるサンプルコード

4桁に揃える(ゼロパディングする)ためのメソッド例です。

※以下functionの実行はabout:blankなどで実行してみると結果がすぐわかるように全てconsole.log()内にいれています。

// 4桁にゼロパディングする関数
function padToFour(number) {
// 9999以下の場合
if (number<=9999) {
// 数値にの頭に0を3つ追加し、4桁にスライス
number = (“000″+number).slice(-4);
}
return number;
}
console.log(padToFour(9)); // 0009
console.log(padToFour(407)); // 0407

“000”+numberは数字の「+」ではなく文字としての「+」なので000に引数のnumberを追加しています。そのため「0009」、「000407」となります。
そして.slice(-4)で後ろから4つ数字を切り取っています。
※ちなみに.slice(4)だと前から数字を4つ切り取ります。

理解できれば何桁でも作れそうです。

任意の桁に揃えるサンプルコード1

任意の桁に揃える(ゼロパディングする)ためのメソッド例です。

// 任意の桁数にして返すメソッド
// num は数値、sizeに指定したい桁数
function pad ( num, size ) {
if (num.toString().length >= size) return num;
return ( Math.pow( 10, size ) + Math.floor(num) ).toString().substring( 1 );
}
console.log(pad(4, 5)); //00004
console.log(pad(346, 5)); // 00346

任意の桁に揃えるサンプルコード2

任意の桁に揃える(ゼロパディングする)ためのメソッドの別の例です。こちらの方がシンプルです。

function padDigits(number, digits) {
return Array(Math.max(digits – String(number).length + 1, 0)).join(0) + number;
}
console.log(padDigits(5, 4)); //0005
console.log(padDigits(248, 4)); //0248

以下サイトでは他にもいろいろな方法があるようです。

参考サイト:Pad a number with leading zeros in JavaScript [duplicate]

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です