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埋めできるのがいい感じ