فیلتر ورودی های تکست باکس
با سلام
یه تکست باکس دارم تو سی شارپ (linq ) ، میخوام فقط اعداد بین 10 تا 13 (ممکنه اعشاری داشته باشه) رو بگیره و عدد دیگه ای نگیره
6 پاسخ
یه عدد بین 10 تا 13 که از ورودی میگیرد
سلام و درود
با استفاده از ترکیب regex (یا regular expression) با یک متد می توانید این کار را انجام بدهید
برای کار با regex هم می توانید از فضای نام زیر استفاده کنید
using System.Text.RegularExpressions;
bool Valid(double input) { if (input >= 10 && input < 14) return true; else return false; } private void btnRegex_Click(object sender, EventArgs e) { var regex = new Regex(@"^[0-9]*(?:\.[0-9]*)?$"); Match result = regex.Match(txtRegex.Text); if(result.Success) { double input = Convert.ToDouble(txtRegex.Text.Trim()); if (Valid(input)) { MessageBox.Show("پیام", "درست"); } } }
سلام کدها را تست نمودم بدون مشکل بود
آیا خالی نبودن رشته ورودی را بررسی نموده اید؟ (کاربر رشته خالی وارد کند)
در غیر اینصورت لطفا کدیی که نوشته اید و رویدادی که از آن استفاده نموده اید را قرار بدهید تا بهتر راهنمایی کنم
سلام دوست عزیز
اررور میده
سلام
منظور من این مقدار متغیر شما یعنی tbtolvaragh.Text.Trim() است
متغیر tbtolvaragh چه مقدار دارد که خطا برمیگرداند؟
دوست عزیز ممنون که راهنمایی میکنی
فیلد من از نوع int ، شاید باید فیلدم رو از بانک تغییر بدم که فکر کنم امکانش نیست چون دارن با اون بانک ذخیره میکنن
تکست باکس فقط عدد میگیره