在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);
答案 0 :(得分:0)
Mask属性适用于Maskedit中显示的格式以及可以键入的字符。它不会为您自动格式化文本。
如果要显示所需格式的字符串,则需要将用户键入的文本转换为有效的小数,然后使用composite formatting准备一个根据需要显示双精度的字符串
double d = Convert.ToDouble(maskedTextBox1.Text)
Console.WriteLine(string.Format("{0:N2}", d));