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

本文关键字:并在 登录 文本 格式 设置 数字 | 更新日期: 2023-09-27 18:34:26

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

这是我尝试过的:

            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,有没有办法让它将额外的零更改为空格?

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

这应该可以解决问题:

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);
<</div> div class="answers">

你试过 String.Format 吗?

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