50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
0

فیلتر ورودی های تکست باکس

با سلام

یه تکست باکس دارم تو سی شارپ (linq ) ، میخوام فقط اعداد بین 10 تا 13 (ممکنه اعشاری داشته باشه) رو بگیره و عدد دیگه ای نگیره

پرسیده شده در 1397/10/13 توسط

6 پاسخ

0

سلام و درود

با استفاده از ترکیب 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("پیام", "درست");
                }
            }
        }
پاسخ در 1397/10/13 توسط
0

سلام کدها را تست نمودم بدون مشکل بود

آیا خالی نبودن رشته ورودی را بررسی نموده اید؟ (کاربر رشته خالی وارد کند)

در غیر اینصورت لطفا کدیی که نوشته اید و رویدادی که از آن استفاده نموده اید را قرار بدهید تا بهتر راهنمایی کنم

پاسخ در 1397/10/15 توسط
0

سلام

منظور من این مقدار متغیر شما یعنی tbtolvaragh.Text.Trim() است

متغیر tbtolvaragh چه مقدار دارد که خطا برمیگرداند؟

پاسخ در 1397/10/16 توسط
0

دوست عزیز ممنون که راهنمایی میکنی

فیلد من از نوع int ، شاید باید فیلدم رو از بانک تغییر بدم که فکر کنم امکانش نیست چون دارن با اون بانک ذخیره میکنن

تکست باکس فقط عدد میگیره

پاسخ در 1397/10/16 توسط

پاسخ شما