プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。

2019/11/13

[C#] 文字列の空白,0埋めと桁数の変数化

update2021/03/15 event_note2019/11/13 0:04

文字列を出力する際に空白や0で埋める方法と、その桁数を変数化する方法です。

空白埋め

var str = "abcdefg";
Console.WriteLine($"{str,10}");

出力結果

   abcdefg

0埋め(ゼロパディング)

int hoge = 1234567;// 数値でないとゼロパディングされない
Console.WriteLine($"{hoge:D10}");

出力結果

0001234567

埋める桁数を変数にする

var x = 10;// 桁数
var str = "abcdefg";
Console.WriteLine($"{{0,{x}}}", str);

出力結果

   abcdefg

他の書式指定子と組み合わせる

var x = 10;// 桁数
for(int i = 0; i < 5; i++)
{
    // 左詰め10桁、右詰め10桁(小数点以下第2位まで)
    Console.WriteLine($"{{0, -{x}}} | {{1, {x}:f2}}|", $"i={i}", i / 0.3);
}

出力結果

i=0        |       0.00|
i=1        |       3.33|
i=2        |       6.67|
i=3        |      10.00|
i=4        |      13.33|