2

今日、私は二つのことを学びました

1 - int をこの形式で表示: テキスト ボックスに 0001

Number.ToString("0000.");

2 - この形式で double を表示: テキスト ボックスに £ 03.00

Price.ToString("£ 00.00");

私の質問は: c# で文字列の制限を表示するには?

つまり、文字列の値は

string myString = "Hello World!"

表示されるように20文字表示したい

"Hello World!        "

20 文字を超える場合は、残りの表示をスキップします。たとえば、次のようになります。

string myString = "I Love every thing you say :*"

以下のみが表示されます。

"I Love every thing y"

20 文字 最大表示 (スペースを数えます)。

何か案が?

4

4 に答える 4

3

Substring または PadRight を使用する必要があります

int length = 20;
string original = "I Love every thing you say :*";

string finalString = original.Length > length ? 
                   original.Substring(0, length) : 
                   original.PadRight(length);

これは、必要に応じて、適切な長さの部分文字列を取得するか、スペースで埋めます。

于 2012-06-08T19:19:53.047 に答える
2
string myString = "I Love every thing you say :*"

string fixedWidth = string.Format("{0, -20}", (myString.Length > 20 ? myString.Substring(0,20) : myString));

文字列拡張として:

public static string ToFixedWidth(this string s, int length)
{
    return string.Format("{0, -20}, s.Length > length ? s.Substring(0, length) : s);
}
于 2012-06-08T19:17:43.717 に答える
1

私は信じている

String.Format("{0,-20}", "Hello World!");

必要なものを与えてくれます。

編集:コンマでなければなりません

編集: 気にしないでください。これはトリミングされません。おそらくSubstringと組み合わせる:

String.Format("{0,-20}", "Hello World!").Substring(0,20);
于 2012-06-08T19:22:00.587 に答える
0

21個のスペースを含む文字列を追加してから削除して、適切な長さにすることもできます。

string formattedStr = (myString + new string(' ', 21)).Remove(20);
于 2012-06-08T21:14:29.010 に答える