C# 在C中使用浮点和登录文本框格式化数字

C# 在C中使用浮点和登录文本框格式化数字,c#,textbox,format,C#,Textbox,Format,我有多个垂直对齐的文本框。它们显示带有浮点数和符号的数字。数字在不断变化。我想固定浮点的位置,这样当数字改变时,浮点的位置不变,并且在所有文本框中保持垂直对齐 这就是我尝试过的: textbox1.Text = number1.ToString("#000.00000"); textbox2.Text = number2.ToString("#000.00000"); textbox3.Text = number3.ToSt

我有多个垂直对齐的文本框。它们显示带有浮点数和符号的数字。数字在不断变化。我想固定浮点的位置,这样当数字改变时,浮点的位置不变,并且在所有文本框中保持垂直对齐

这就是我尝试过的:

            textbox1.Text = number1.ToString("#000.00000");
            textbox2.Text = number2.ToString("#000.00000");
            textbox3.Text = number3.ToString("#000.00000");
            textbox4.Text = number4.ToString("#000.00000");

当数字为负数,我在开头看到-号时,它就起作用了,但当它们为正数时,数字就会向左移动。我可以手动在正数的开头添加空格或+号,但我想知道是否有更优雅的方法。另外,当数字像3.2时,这会将它们更改为003.20000,是否有任何方法可以将额外的零更改为空格?

您尝试过String.Format吗

String.Format("{0:0.0000}", 123.4567); //will return "123.4567"
String.Format("{0:0.0000}", 123.45678); //will return "123.4568"

这应该可以做到:

textbox1.Text = String.Format("{0,10:+0.00000;-0.00000}", number1);
textbox2.Text = String.Format("{0,10:+0.00000;-0.00000}", number2);
textbox3.Text = String.Format("{0,10:+0.00000;-0.00000}", number3);
textbox4.Text = String.Format("{0,10:+0.00000;-0.00000}", number4);
textbox5.Text = String.Format("{0,10:+0.00000;-0.00000}", number5);
或者,如果您希望在填充之前添加符号,则可以使用此选项

textbox1.Text = String.Format("{0:+;-}{0,9:0.00000;0.00000}", number1);
textbox2.Text = String.Format("{0:+;-}{0,9:0.00000;0.00000}", number2);
textbox3.Text = String.Format("{0:+;-}{0,9:0.00000;0.00000}", number3);
textbox4.Text = String.Format("{0:+;-}{0,9:0.00000;0.00000}", number4);
textbox5.Text = String.Format("{0:+;-}{0,9:0.00000;0.00000}", number5);

可能重复:不,我的问题与那个问题不同,因为我还希望浮点对齐!您是否考虑过正确对齐文本?现在您有两种方法:尝试使用固定宽度的字体和重复项。您甚至在评论中指出,不会显示+符号,因此数字不会与负值对齐。可以在此处找到整个文档,他可以使用此格式:String.format{0,10:0.0000},number;如果数字为1.2,则会将其更改为1.20000。是否有必要删除多余的零?