【JavaScript】 数字の前に「0」を追加する padStart() を使う

この記事は約2分で読めます。
サーバー等の運営維持費を得るため記事内に自動表示される広告が含まれています

コーディングのイメージ

こんにちは、さち です。

先日 JavaScript を書いているときに、「数字」の前に「0」で埋める(付け加える)ように処理したいことがありました。

「時間」の「秒」(または「分」)を常に2桁にしたいなど、よくあることなので、記述方法を備忘録として残しておきます。

スポンサーリンク

サンプル

計測した結果[秒]を「分:秒(m:ss)」の形に変換します。

/* 計測結果 [単位: 秒] */
let result = 67;

/* 分:秒 の形にする */
let min = Math.floor(result / 60);
let sec = result % 60;

/* 秒が1ケタなら頭に0を追加する */
sec_add0 = sec.toString().padStart(2, '0');

console.log(min + ':' + sec_add0);// 1:07

padStart(2, '0') は、2文字になるように先頭から「0」で埋めるという意味です。入力された「文字列」が2文字以上の場合は何もしません。

padStart() は「文字列」で使用できるメソッドです。そのため、数値 sec は toString() で「文字列」に変換する必要があります。

条件分岐 if(sec < 10) を使って書くより、何をしたいかが伝わりやすそうですね。

ちなみに、padStart() があるなら padEnd() もあります。名前のとおり「末尾から埋める」機能のメソッドですが、使い道は少ないかもしれません。

コメント

タイトルとURLをコピーしました