我的目標:我想讓文本框接受像123.45或0.45或1004.72這樣的十進制數。如果用戶輸入字母a或b或c,程序應該顯示一條消息,提醒用戶只輸入數字。檢查文本框輸入是否是十進制數 - C#
我的問題:我的代碼只檢查像1003或567或1這樣的數字。它不檢查十進制數字,如123.45或0.45。如何讓我的文本框檢查十進制數字?以下是我的代碼:
namespace Error_Testing
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
string tString = textBox1.Text;
if (tString.Trim() == "") return;
for (int i = 0; i < tString.Length; i++)
{
if (!char.IsNumber(tString[i]))
{
MessageBox.Show("Please enter a valid number");
return;
}
}
//If it get's here it's a valid number
}
}
}
我是一個新手,並感謝您的幫助提前。 :)
對於一個..你沒有處理'。'字符。當他們進入文本框時會發生什麼? –
你是想給自己寫一張支票,還是使用內置支票?這在.NET中使用'decimal.TryParse'或'double.TryParse'很簡單。 – cadrell0
@JonLaMarr:如果我在文本框中輸入123,屏幕上會出現一個對話框:「請輸入一個有效的號碼」。這意味着文本框不檢查十進制數字。 – Smith