PDA

View Full Version : سوال: مشکل در نمایش اعداد در textbox



mh.tavak
یک شنبه 22 بهمن 1391, 19:03 عصر
با سلام خدمت اساتید بزرگ
من اکنون یکبرنامه تبدیل واحد نوشتم که مثلا سانتی متر را به کیلومتر تبدیل کنه که در این تبدیل اگر سانتی متر را وارد کنیم باید در کیلومتر به صورت 0.00001 نشان دهد ولی در برنامه من به صورت 1E-05 نشان میدهد
در ضمن من متغیر را از نوع double تعریف کرده ام.
پیشاپیش از پاسختان سپاسگزارم

gholami146
یک شنبه 22 بهمن 1391, 19:28 عصر
متغییر شما باید از نوع فلت باشه

mh.tavak
یک شنبه 22 بهمن 1391, 19:43 عصر
ممنون از پاسختون ولی اول اینکه با توجه به کتابی که من دارم float و double هردو برای اعداد اعشاری هستند و double رقم اعشاری بیشتری را میپذیرد در این صورت در این برنامه با یکدیگر فرقی ندارندک؟!!!!!!!
دوم اگه متغیر را از نوع float تعریف کنم بعدش کد نویسی من چگونه می شود؟
این کدهای این برنامه است



double a, b;
if (textBox1.Text == "")
MessageBox.Show("لطفا در قسمت ورودی عدد مورد نظر را وارد کنید");
else if (tabControl1.SelectedIndex == 0)
{
if (comboBox1.SelectedIndex == comboBox2.SelectedIndex)
textBox2.Text = textBox1.Text;
if (comboBox1.SelectedIndex == 0 && comboBox2.SelectedIndex == 1)
if (comboBox1.SelectedIndex == 0 && comboBox2.SelectedIndex == 2)
{
a = Convert.ToDouble(textBox1.Text);
b = a / 100000;
textBox2.Text = Convert.ToString(b);


در اینصورت باید چگونه از float استفاده کنم.......یعنی دیگر نمیشه نوشت convert.tofloat!!!!!!!!!!!!!!!!!

SHD.NET
یک شنبه 22 بهمن 1391, 19:45 عصر
شاید اگه موضوعتو مناسب تر انتخاب می کردی، بهتر راهنمایی می شدی !!! :لبخند:

mh.tavak
یک شنبه 22 بهمن 1391, 20:12 عصر
میشه بپرسم چه موضوعی انتخاب میکردم؟:لبخند:

SHD.NET
یک شنبه 22 بهمن 1391, 20:13 عصر
میشه بپرسم چه موضوعی انتخاب میکردم؟:لبخند:

نه! نمیشه !!! اسپم نده آقا :قهقهه:

**یاعلی**

plus
یک شنبه 22 بهمن 1391, 20:52 عصر
شما میتونی بجای استفاده از Convert.ToString از String.Format استفاده کنی:

myTextBox.Text = String.Format("{0:0.#####}", b);

mh.tavak
یک شنبه 22 بهمن 1391, 22:05 عصر
داداش دستت در نکنه به خاطر پاسخت ولی من مبتدیم و هیچی از متن شما نفهمیدم:لبخند:
لطفا کمی واضح تر بنویسید . من از mytextbox استفاده کردم ولی همش ازم ایراد میگیره
باتشکر

مهرداد صفا
دوشنبه 23 بهمن 1391, 08:24 صبح
در اینصورت باید چگونه از float استفاده کنم.......یعنی دیگر نمیشه نوشت convert.tofloat!!!!!!!!!!!!!!!!!

با سلام
در مورد تبدیل انواع داده ای به float از Convert.ToSingle استفاده می گردد. در واقع در .net از Single برای معرفی float استفاده می شود، البته در مورد مشکل شما تفاوتی بین Single و Double نیست و همانطور که گفتید هر دوی آنها رفتار مشابهی دارند. پیشنهاد می کنم از نوع داده ای Decimal استفاده کنید.
نمونه استفاده:

decimal d = 0.00001m;
MessageBox.Show(d.ToString());//0.00001

mh.tavak
دوشنبه 23 بهمن 1391, 15:40 عصر
آقا دسته شما درد نکنه نرم افزارم درست شد و نمایش اعداد را درست انجام میدهد .
میدونم سوالم خیلی پیش پا افتادست ولی میخواهم سطح اطلاعاتم رو بالا ببرم و این سوال اصلا ربطی به برنامه ندارد........میخواستم بدونم decimal برای چه محدوده اعدادیه و کلن برای چی استفاده میشود.؟؟؟؟؟؟؟؟؟
با تشکر

SHD.NET
دوشنبه 23 بهمن 1391, 17:05 عصر
آقا دسته شما درد نکنه نرم افزارم درست شد و نمایش اعداد را درست انجام میدهد .
میدونم سوالم خیلی پیش پا افتادست ولی میخواهم سطح اطلاعاتم رو بالا ببرم و این سوال اصلا ربطی به برنامه ندارد........میخواستم بدونم decimal برای چه محدوده اعدادیه و کلن برای چی استفاده میشود.؟؟؟؟؟؟؟؟؟
با تشکر

بفرما اینم مشخصات متغیر Decimal:

نام :
Decimal :لبخند:
محدوده تقریبی :

±1.0 × 10^−28 to ±7.9 × 10^28

دقت:
تا 28 و 29 رقم

**موفق باشید**