ゼロパディング・スペース埋め【JavaScript】
簡易な3桁のゼロパディング処理
function zeroPadding(number) {
return ('000'+number).slice(-3);
}
console.log(zeroPadding(1)); // 001
console.log(zeroPadding(12)); // 012
console.log(zeroPadding(123)); // 123
console.log(zeroPadding(1234)); // 234
※注意:想定桁数を超えると上位の桁が失われる
パディングの一般化
/**
* パディング処理
* @param {number} number - 正の整数
* @param {string} char - パディングする文字
* @param {number} minDigits - 最小桁数
* @return パディング済みの文字列
*/
function padding(number, char, minDigits) {
var text = number+'';
if (text.length < minDigits) {
text = (Array(minDigits).join(char)+number).slice(-minDigits);
}
return text;
}
function zeroPadding(number, minDigits) {
return padding(number, '0', minDigits);
}
function spacePadding(number, minDigits) {
return padding(number, ' ', minDigits);
}
console.log(zeroPadding(1, 3)); // 001
console.log(spacePadding(12, 3)); // 12
console.log(padding(123, '0', 3)); // 123
console.log(padding(1234, '0', 3)); // 1234
String.prototype.padStart
console.log((1+'').padStart(3, '0')); // 001
console.log((12+'').padStart(3, ' ')); // 12
console.log((123+'').padStart(3, '0')); // 123
console.log((1234+'').padStart(3, '0'));// 1234
※ES2017(es8)の新機能