我需要在文本框中只允許gps座標值,格式將是2位數,然後是小數點後5位數。例如。 「28.98706」。文本框中的十進制值
我該如何做到這一點?如果有人能夠解釋使用正則表達式和正則表達式的區別,我也會很感激。
我需要在文本框中只允許gps座標值,格式將是2位數,然後是小數點後5位數。例如。 「28.98706」。文本框中的十進制值
我該如何做到這一點?如果有人能夠解釋使用正則表達式和正則表達式的區別,我也會很感激。
大概numericUpDown
會更好。但這裏有一個可能的解決方案:TextBox
:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (char.IsControl(e.KeyChar)) return;
if (e.KeyChar == '.' && textBox1.Text.Length < 2) e.Handled = true;
if (!char.IsDigit(e.KeyChar) && e.KeyChar != '.') e.Handled = true; // check for non-digit character
if (textBox1.Text.Length == 2 && e.KeyChar != '.') e.Handled = true; // you should type dot '.'
if (textBox1.Text.Length == 8) e.Handled = true;
}
請勿使用文本框。改爲使用NumericUpDown - 它以十進制格式存儲值,允許您設置小數點精度。
也正則表達式=正則表達式。
正則表達式和正則表達式是一回事。使用它來驗證用戶對允許值模式的輸入。
例子:
if(!Regex.IsMatch("[0-9]+\.?[0-9]*", TextBox.Text))
return false;
return true;
RegEx是正則表達式的縮寫。 –
您是否知道有另一個有效的GPS表示,分鐘,秒等? (萬一) – Samuel