Sao bạn không dùng cách đơn giản nhất là Double.Parse.
Nếu chuôi nhập vào không phải là số thì sẽ bị exception FormatException -> bạn bắt cái này và thực hiện validate.
Mình đang viết chương trình tính điểm nhưng phần xử bắt lỗi chỉ cho nhập số thì được nhưng lại không nhập được dấu . thập phân vd: nhập 7.5 thì không được. bạn nào có thể giúp mình không?
Sao bạn không dùng cách đơn giản nhất là Double.Parse.
Nếu chuôi nhập vào không phải là số thì sẽ bị exception FormatException -> bạn bắt cái này và thực hiện validate.
Bao chàng trai không tiếc tuổi xuân đang viết nhiều chương trình
Em đẹp xinh cũng quyết lập công chưa muốn lấy chồng
http://ipmac.vn/ <- Học lập trình ... sư
http://laptrinh.tv/ <- Kênh chia sẻ video học IT
http://www.youtube.com/user/anhnt3 <- Video thực hành lập trình... sư từ A-Z
Bắt lỗi bằng try catch trong sự kiện KeyPress cũng được bạn ak.
hi!Theo Four dùng try-catch cho chuơng trình an toàn cũng được. Tuy nhiên, cũng không nên dùng try-catch khi mình có thể kiểm soát được. Vì dùng try-catch sẽ làm chuơng trình chậm hơn bình thường một chút. Trừong hợp này bạn có thể dùng hàm TryParse mà các kiểu dữ liệu số hỗ trợ sẵn. Chẳng hạn:int.TryParse(string str,out iNumber),float.TryParse(string value,out fNumber),...Bài of bạn làm thế này cũng được nè(viết trong sự kiện như mấy bác kia nói nhé):
if(int.TryParse(textBox1.Text, out number))
textBox1.BackColor = Color.White;
else
textBox1.BackColor = Color.Red;
Sao bạn không sử dụng Regex để bắt lỗi khi nhập vào textbox, chỉ cho phép nhập số từ 0->9 chẳng hạn
Regex fgint = new Regex("^([0-9]){1,2}$");
if (!fgint.IsMatch(txtage.Text))
{
MessageBox.Show("Age not Validate", "Error", MessageBoxButtons.OK);
txtage.Focus();
return;
}