1

私は文字列型のシリアル番号を持っています。

このような;

String.Format("{0:####-####-####-####}", "1234567891234567" );

Like This、1234-5678-9123-4567 を見る必要があります。

しかし、このコードは機能しませんか?

手伝って頂けますか?

4

2 に答える 2

3

その構文はintを取ります。これを試してください:

String.Format("{0:####-####-####-####}", 1234567891234567);

編集:文字列でこの構文を使用したい場合は、これを試してください:

String.Format("{0:####-####-####-####}", Convert.ToInt64("1234567891234567"))
于 2009-09-29T10:21:45.747 に答える
2

####-####-####-#### の場合は、番号が必要です。しかし、あなたはそれに文字列を供給しています。

正確に 16 文字になるように、左側にゼロを追加して文字列を埋め込む方が実用的です。次に、文字列内の 3 か所にダッシュを挿入します。Int64 に変換することもできますが、これらの文字列が大きくなったり、数値以外の文字が含まれ始めたりすると、問題が発生します。

string Key = "123456789012345";
string FormattedKey = Key.PadLeft(16, '0').Insert(12, "-").Insert(8, "-").Insert(4, "-");

それはフォーマットの代わりになるはずです。キーはちょうど 16 文字になり、右から左に 3 つのダッシュが挿入されます。(インデックスを追跡しやすくなります。)

おそらく他にもたくさんの選択肢がありますが、これはうまく機能します。

于 2009-09-29T10:24:05.540 に答える