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)); } ////// 0埋め /// /// 0埋め対象。ToString()を実装していること/// 0埋めする桁数public static string ZeroPadding<T>( T target, int padNum) where T : IComparable { return target.ToString().PadLeft(padNum, '0'); }
小数点の扱いが微妙だけど、文字列と数値を同じロジックで0埋めできるのがいい感じ