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

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

这是我尝试过的:

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,无论如何都要将其更改为空格?

这应该是诀窍:

 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吗?

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