0
0

More than 3 years have passed since last update.

JavaScriptで数値の0埋め

Last updated at Posted at 2020-08-26

sliceを使う

var hoge = ("000" + 3).slice(-3);
console.log(hoge);
// 003

var hogeHoge = ("000" + 123).slice(-3);
console.log(hogeHoge);
// 123

// 関数にしてみる
var zeroPadding = (val, length) => {
  // ここで引数の妥当性チェックを行う方が良いのかもしれないが今回は割愛している
  var parts = "";
  for (var i = 1; i <= length; i++) {
      parts += "0";
  }
  return (parts + val).slice(-length);
};

// 呼び出し
console.log(zeroPadding(15, 3));
// 015
console.log(zeroPadding(150, 3));
// 150

// 補足
// "000"と指定している桁数を0埋め対象の値の桁数が超えてしまった場合、期待している0埋めにならない。
console.log(("000" + 5432).slice(-3));
// 432
// sliceの引数の数字が"000"と指定している桁数未満の場合、期待している0埋めにならない。
console.log(("000" + 543).slice(-2));
// 43

padStartを使う

sliceよりも扱いやすい。
ES2017以降であれば使用可能だがIEでは使用できない。
※コメントでのご指摘ありがとうございます。

var hoge = 3;
console.log(String(hoge).padStart(3,"0"));
// 003
console.log(String(hoge).padStart(5,"0"));
// 00003
var hogeHoge = 345;
console.log(String(hogeHoge).padStart(2,"0"));
// 345
console.log(String(hogeHoge).padStart(3,"0"));
// 345

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0