windows窗体应用程序中的maskedTextBox

时间:2014-11-09 09:25:20

标签: winforms mask maskedtextbox

在Windows窗体应用程序中,使用Visual Studio 2012的C#

我的面具是0.00但是当我输入3.00时它只考虑3而不是3.00 当进入3.30时,它考虑3.3 但是,如果我输入3.01,则考虑此值。

问题是我想要考虑最后的零也是。

表单设计器代码中的

this.maskedTextBox1.Location = new System.Drawing.Point(402, 121);
this.maskedTextBox1.Mask = "0.00";
this.maskedTextBox1.Name = "maskedTextBox1";
this.maskedTextBox1.PromptChar = '-';
this.maskedTextBox1.Size = new System.Drawing.Size(31, 22);
this.maskedTextBox1.TabIndex = 23;
this.maskedTextBox1.ValidatingType = typeof(System.DateTime);
this.maskedTextBox1.MaskInputRejected += new 

System.Windows.Forms.MaskInputRejectedEventHandler(this.maskedTextBox1_MaskInputRejected);

1 个答案:

答案 0 :(得分:0)

Mask属性适用于Maskedit中显示的格式以及可以键入的字符。它不会为您自动格式化文本。

如果要显示所需格式的字符串,则需要将用户键入的文本转换为有效的小数,然后使用composite formatting准备一个根据需要显示双精度的字符串

double d = Convert.ToDouble(maskedTextBox1.Text)
Console.WriteLine(string.Format("{0:N2}", d));