任何人都可以告诉我如何格式化文本框的文本值

Cha*_*nya 3 c# winforms

大家好我正在做一个程序来舍入在文本框中输入的文本.样本输入

Entered value      output value
  100                100.00
   50                 50.00
Run Code Online (Sandbox Code Playgroud)

像这样我想在textBox1_Leave事件上格式化我的文本框值

我试过这个,但对我不起作用

private void textBox1_Leave(object sender, EventArgs e)
{
    string str = string.Format(textBox1.Text, "##.00");
    textBox1.Text = str;
}
Run Code Online (Sandbox Code Playgroud)

谁能帮我

Ada*_*kis 6

您需要将该字符串转换为数字,然后调用Format.此外,您使用的格式不正确.你需要使用占位符,就像这样

string str = String.Format("{0:F2}", Double.Parse(textBox1.Text));
textBox1.Text = str;
Run Code Online (Sandbox Code Playgroud)

当然,如果您输入非数字输入,这将会呕吐.为此,您可以进行一些基本验证

double d = 0;            
textBox1.Text = 
       Double.TryParse(textBox1.Text, out d) ? String.Format("{0:F2}", d) : "0";
Run Code Online (Sandbox Code Playgroud)