C#で汎用的に0埋めする関数

0埋めがちょっと面倒だなと思ったので

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
static void Main(string[] args)
{
    // 00009
    Console.WriteLine(ZeroPadding("9", 5));
    // 00005
    Console.WriteLine(ZeroPadding(5, 5));
    // 004.0
    Console.WriteLine(ZeroPadding(4.0M, 5));
    // 00006
    Console.WriteLine(ZeroPadding(6D, 5));
}
 
/// <summary>
/// 0埋め
/// </summary>
/// <param name="target">0埋め対象。ToString()を実装していること/// <param name="padNum">0埋めする桁数public static string ZeroPadding<T>( T target, int padNum)
             where T : IComparable
{
    return target.ToString().PadLeft(padNum, '0');
}

小数点の扱いが微妙だけど、文字列と数値を同じロジックで0埋めできるのがいい感じ

2015年9月11日金曜日