先頭に0を付ける方法(javaScript)

javaScript

時間や0001~9999まで表示するときに等に使用します。

JavaScriptのpadStartメソッドの使用

padStartの使い方は 変数 = 文字列.padStart(文字列の長さ,埋める文字); になります。

*付ける相手は文字列型です。

*時間をメソッドで取得した場合もデータ型を文字列型に変換しましょう。

let num1 = 1;
console.log(num1.padStart(5, 0));
// 数字を入れているためエラーになります。
// Uncaught TypeError: num1.padStart is not a function

let num2 = "2";
console.log(num2.padStart(5, 0)); 
// 00002

文字列型sliceメソッドの使用

sliceの使い方は 文字列.slice( 開始地点, 終了地点);

*1.開始地点は0からスタートします。東西南北だと、0が東、1が西、2が南、3が北になります。

*2.開始地点にはマイナスも入れることが出来ます。

*3.終了地点は含まれない。

let whichWay = "東西南北";
let way = whichWay.slice(1);
console.log(way);
// 西南北

let whichWay = "東西南北";
let way = whichWay.slice(-2);
console.log(way);
// 南北

let whichWay = "東西南北";
let way = whichWay.slice(1, 3);
console.log(way);
// 西南

*2を利用して数字の前に0を入れます。

*0を付けたい数字を直接入れるとは考えにくいので他の関数の戻り値を使用します。

*三倍したものの先頭に0を付けてます

*黄色の部分は下で解説してます。

//三倍してます。
function triple(num) {
  result = num * 3
  return result
}
//27 今回は9を入れてます。

function threeDigits(num) {
  result = ("000" + num).slice(-3)
  return result
}
//027

console.log(threeDigits(triple(9)));
//027

//三桁超えた場合 三倍で1500のはずですが切られます。
console.log(threeDigits(triple(500)));
//500

let a = "000" + 1234;
console.log(typeof (a));
// string

result = (“000” + num).slice(-3)

文字列型の000と数字型の27を足すと00027の文字列型になります。文字列化の理由はわかりません。

sliceメソッドのマイナスにより後ろから、-1は7、-2は2、-3は0になり、027になります。

関数でやりたい場合

function doubleDigit(num) {
  if (num < 10)
    result = "0" + num
  else
    result = String(num)
    return result;
}

console.log(doubleDigit(5));
//05
console.log(doubleDigit(10));
//10

終わり

間違っている所や変な所がありましたら教えていただけたら幸いです。

コメント

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