1

これは単純かもしれませんが、この言語にはまだ慣れていません。

テキストボックスとボタンがあるWindowsアプリケーションを作成しています。テキストボックスに入力された値を取得し、テキストボックスに入力された値をコンテンツとして含む.txtファイルを作成します。

私はこれを着用しました。テキストボックスに「5」を追加してボタンを押すと、コンテンツ「5」を含むtxtファイルが作成されます。

私の質問は、テキストボックスの値をこのxxxxxxx.xxxxxのようなものにフォーマットするにはどうすればよいですか?

5では、どのように入力すると、テキストで作成して作成することができます0000005.00000か?

または、入力した場合、どうすれば5.4このようになり0000005.40000ますか?

誰かが光を当てることができますか?またはコーディングサンプル?

4

6 に答える 6

2

あなたがしなければならないことは、文字列をからTextBoxdoubleに解析し、それを使用して文字列にフォーマットし直すことNumberFormatInfoです。

文字列を解析するには、次を使用します。

Double d;
Double.TryParse("5.4", out d);

必要な形式にフォーマットするには、次のドキュメントを参照して、必要なフォーマットを選択してください:http: //msdn.microsoft.com/en-us/library/dwhawy9k.aspx

于 2011-03-18T08:10:36.470 に答える
1

このブログ投稿は、string.Formatの使用方法に適しています-http ://blog.stevex.net/string-formatting-in-csharp/

また、MSDNは非常に役立ちます-http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx

たとえば、「使用している場合は5.4と入力し、どうすればこの0000005.40000のようになりますか?」:

「TheDecimal( "D")FormatSpecifier」という見出しの下にあるMSDNリンクを見てください。

Console.WriteLine(value.ToString("D8"));
// Displays -00012345

「TheFixed-Point( "F")FormatSpecifier」という見出しの下にあるMSDNリンクをご覧ください。

integerNumber = -29541;
Console.WriteLine(integerNumber.ToString("F3", 
                  CultureInfo.InvariantCulture));
// Displays -29541.000

しかし実際には、探しているものを実現するには、次のようなフォーマット文字列を使用するのがおそらく最善です。

var f = 5.4;
f.ToString("000000000.0000000000000");
// Displays 000000005.4000000000000
于 2011-03-18T08:11:33.107 に答える
1

テキストを(またはTextBoxを使用して)double変数に解析し、次のようにします。double.Parsedouble.TryParse

double d = 5.0d;
Console.WriteLine(string.Format("{0:0000000.00000}",d));
d = 5.4d;
Console.WriteLine(string.Format("{0:0000000.00000}",d));
于 2011-03-18T08:12:25.383 に答える
1

次のことを試してください。

int number = 5;
string content = number.ToString("0000000.00000");
于 2011-03-18T08:17:08.043 に答える
0

見上げるstring.Format()

http://alexonasp.net/samples/stringformatting/

于 2011-03-18T08:11:42.960 に答える
0

まず、テキストボックスは、値を(テキスト)文字列として提供します。それを数値としてさらに処理したい場合(あなたが行う)、最初にそれを変換(解析)する必要があります。次に、必要な方法で数値をフォーマットします

var number = Decimal.Parse(textBox.Text);
writer.Write(number.ToString("{0:0000000.00000}", number));
于 2011-03-18T08:15:42.823 に答える