|
■No35692 (たに さん) に返信 > お世話になります。 > > 文字列型の数値に対して0埋めをしたいのですが、 > 0埋めする長さが固定ではありません。 > 下記の様なコードを書いてみたのですがうまくいきません。 > String.Format()メソッドの書式には変数を使っての > 指定ができないのでしょうか? > > lengthには数値の8が、TextBoxのtxtId.Textには"123"が > 入っているものとします。 > ------------------------------------------- > StringBuilder format = new StringBuilder(); > format.Append("{0:D"); > format.Append(length.ToString() + "}"); // ここで"{0:D8}"が作られる。 > > // 指定された桁数で0埋めを行う。 > string zeroPadding = String.Format(format.ToString(), > txtId.Text); > > // 期待値としてzeroPaddingに"00000123"ですが、 > // "123"のまま。 > ------------------------------------------- > > 環境はXP(SP3)/VS2005/C#/.net2.0です。 > 宜しくお願いします。 >
試してませんが・・・
Console.WriteLine(String.Format("{0:D" + length.ToString() + "}", int.Parse(txtId.Text));
でどうでしょう?
|