اعداد کسری در سی شارپ

qwqw1364

Member
با سلام من میخوام که کاربر در تکست باکس اعداد کسری وارد کنه و اون عدد کسری رو بتونم در تکست باکس دیگه ای عملیات محاسبه روش انجام بدم اگه راهی داره بفرمایید لطفا همراه با کد نویسی با تشکر
 

the_king

مدیرکل انجمن
با سلام من میخوام که کاربر در تکست باکس اعداد کسری وارد کنه و اون عدد کسری رو بتونم در تکست باکس دیگه ای عملیات محاسبه روش انجام بدم اگه راهی داره بفرمایید لطفا همراه با کد نویسی با تشکر

می توانید یک کاراکتر مثل / رو نماد تقسیم در نظر بگیرید و در TextBox کاربر چه 0.25 (بیست و پنج صدم) بنویسه و چه 1/4 (کسر یک چهارم) بنویسه یک مقدار یکسان در نظر گرفته بشه :
کد:
        private double [B][COLOR="#0000FF"]TextToDouble[/COLOR][/B](string text)
        {
            double n, m;
            var ops = text.Split('/');
            double.TryParse(ops[0], out n);
            for (int i = 1; i < ops.Length; i++)
            {
                if (double.TryParse(ops[1], out m))
                {
                    n /= m;
                }
                else
                {
                    break;
                }
            }
            return n;
        }

مثلا :
کد:
            double n = [B][COLOR="#0000FF"]TextToDouble[/COLOR][/B](textBox1.Text);
 

qwqw1364

Member
می توانید یک کاراکتر مثل / رو نماد تقسیم در نظر بگیرید و در TextBox کاربر چه 0.25 (بیست و پنج صدم) بنویسه و چه 1/4 (کسر یک چهارم) بنویسه یک مقدار یکسان در نظر گرفته بشه :
کد:
        private double [B][COLOR=#0000FF]TextToDouble[/COLOR][/B](string text)
        {
            double n, m;
            var ops = text.Split('/');
            double.TryParse(ops[0], out n);
            for (int i = 1; i < ops.Length; i++)
            {
                if (double.TryParse(ops[1], out m))
                {
                    n /= m;
                }
                else
                {
                    break;
                }
            }
            return n;
        }

مثلا :
کد:
            double n = [B][COLOR=#0000FF]TextToDouble[/COLOR][/B](textBox1.Text);


با سلام کد فوق رو کجا باید وارد کنم
 

the_king

مدیرکل انجمن
با سلام کد فوق رو کجا باید وارد کنم

کد متد TextToDouble رو که هر جایی توی کد فرم می تونید قرار بدید، بالا پایین اش فرقی نمی کنه، اما اون یک سطر استفاده اش رو هر جا که می خواهید محاسبات رو انجام بدید می نویسید.
 

qwqw1364

Member
با سلام من کد رو به این صورت نوشتم ولی عملیاتی انجام نمیشه

public partial class Form1 : Form
{
private double TextToDouble(string text)
{
double n, m;
var ops = text.Split('/');
double.TryParse(ops[0], out n);
for (int i = 1; i < ops.Length; i++)
{
if (double.TryParse(ops[1], out m))
{
n /= m;
}
else
{
break;
}
}
return n;
}

private void textBox2_TextChanged(object sender, EventArgs e)
{
double n = TextToDouble(textBox1.Text);
}
 

the_king

مدیرکل انجمن
با سلام من کد رو به این صورت نوشتم ولی عملیاتی انجام نمیشه

public partial class Form1 : Form
{
private double TextToDouble(string text)
{
double n, m;
var ops = text.Split('/');
double.TryParse(ops[0], out n);
for (int i = 1; i < ops.Length; i++)
{
if (double.TryParse(ops[1], out m))
{
n /= m;
}
else
{
break;
}
}
return n;
}

private void textBox2_TextChanged(object sender, EventArgs e)
{
double n = TextToDouble(textBox1.Text);
}
اول یک نکته هست، وقتی مقدار textBox2 تغییر می کنه مقدار داخل textBox1 رو محاسبه می کنید، آیا این در کد شما منطقی ئه یا می خواستید مقدار textBox2 رو در n حساب کنه؟
ثانیا شما در n مقدار کسری رو محاسبه می کنید ولی کاری باهاش انجام نمیدید که ظاهر نمایشی داشته باشه، فرضا این سطر کد رو اضافه کنید و وقتی مقدار داخل textBox2 تایپ می کنید چشم تون به عنوان فرم باشه، تغییر می کنه :
کد:
        private void textBox2_TextChanged(object sender, EventArgs e)
        {
            double n = TextToDouble([B][COLOR="#0000FF"]textBox2[/COLOR][/B].Text);
[B][COLOR="#0000FF"]            Text = n.ToString();[/COLOR][/B]
        }
 

جدیدترین ارسال ها

بالا