数値や文字列を右詰して前を「0(ゼロ)」で埋める(C#)

C#の小ネタです。まぁいつも小ネタですが。

数値や文字列を右詰(右寄せ?)して前を「0(ゼロ)」で埋めた文字列を作ります。

数値の右詰と0埋め

数値の場合はstring.FormatメソッドかToStringメソッドで標準の10進数"D"数値書式指定を使います。"0"カスタム指定子を使ってもできますが標準のほうでいいのかな?と。

// 3桁の数値を右詰と0埋めして5桁に
var number = 123;
Console.WriteLine(string.Format($"{number:d5}"));   // 標準の数値書式指定
Console.WriteLine(number.ToString("d5"));    // ToStringを使うと
Console.WriteLine(string.Format($"{number:00000}"));    // カスタム数値書式指定

// 実行結果
// 00123
// 00123
// 00123
参考

文字列の右詰と0埋め

文字列の場合はstring.PadLeftメソッドを使います。

// 3桁の文字列を右詰と0埋めして5桁に
var text = "123";
Console.WriteLine(text.PadLeft(5, '0'));

// 実行結果
// 00123
参考