如何使文本框仅精确接受十进制值。
example.if文本框值为12.如何将其转换为12.00
如果是12.00则必须保持不变..
提前感谢。
答案 0 :(得分:4)
您想使用NumericUpDown - 控件。
修改但要回答你的问题。要使TextBox
- 控制只接受数字值,您必须取消不需要的每个键,然后将输入转换为Decimal
。
Decimal value = Convert.ToDecimal(this.yourTextBox.Text);
或故障安全方式:
Decimal value = 0;
String toParse = this.yourTextBox.Text;
if(!Decimal.TryParse(toParse, out value) {
// The user managed to break it...
}
答案 1 :(得分:1)
一个简单的固定宽度变体是:
textBox1.Text = String.Format("{0,12:0.00}", textBox1.Text);
答案 2 :(得分:1)
向TextBoxChanged添加一个事件:
public void On_textbox1TextChanged(object sender, EventArgs e)
{
Double dblVal = 0;
if(Double.TryParse(this.textbox1.Text, ref dblVal))
{
this.textbox1.Text = dblVal.ToString("N2"); // Prints two 2 decimal places
}
else { /* Handle invalid value */ }
}
答案 3 :(得分:1)
我会在文本更改和字符串格式化方面进行上述组合,但也可以使用MASKED文本框。这样你就可以放入一个预期的面具。