大家好我正在做一个程序来舍入文本框中输入的文本。样本输入
Entered value output value
100 100.00
50 50.00
像这样我想在textBox1_Leave
事件
我试过这个,但对我不起作用
private void textBox1_Leave(object sender, EventArgs e)
{
string str = string.Format(textBox1.Text, "##.00");
textBox1.Text = str;
}
任何人都可以帮助我
答案 0 :(得分:6)
您需要将该字符串转换为数字,然后调用格式。此外,您使用的格式不正确。您需要使用占位符,例如
string str = String.Format("{0:F2}", Double.Parse(textBox1.Text));
textBox1.Text = str;
当然,如果您输入非数字输入,这将会呕吐。为此,您可以进行一些基本验证
double d = 0;
textBox1.Text =
Double.TryParse(textBox1.Text, out d) ? String.Format("{0:F2}", d) : "0";
答案 1 :(得分:3)
问题是您的文本框值已经是字符串。试试这个:
private void textBox1_Leave(object sender, EventArgs e)
{
var input = Convert.ToDouble(textbox1.Text);
textBox1.Text = input.Tostring("#.00");
}
注意:您需要在转换时捕获格式异常,但输入不是数字。