View Full Version : مقدار یک ادیت تقسیم بر 100؟؟
ms.nazeri
پنج شنبه 17 تیر 1389, 17:34 عصر
سلام ،،، ممنون از دوستانی که لطف میکنن و پاسخ میدن .
روزتون خوش:
شرمنده یه سواله پیشوپاافتاده دارم ؟:ناراحت:
من میخوام مقدار یک ادیت رو که از نوع عدد هست تقسم بر 100 کنم و در ادیت دیگه بریزم . متاسفانه یک ارور کوچیک میده که نمیدونم منظورش چیه؟ این کدی که من به ذهنم رسید:
edit3.text:=strtoint(edit2.text) / 100
MOJTABAATEFEH
پنج شنبه 17 تیر 1389, 18:28 عصر
سلام ،،، ممنون از دوستانی که لطف میکنن و پاسخ میدن .
روزتون خوش:
شرمنده یه سواله پیشوپاافتاده دارم ؟:ناراحت:
من میخوام مقدار یک ادیت رو که از نوع عدد هست تقسم بر 100 کنم و در ادیت دیگه بریزم . متاسفانه یک ارور کوچیک میده که نمیدونم منظورش چیه؟ این کدی که من به ذهنم رسید:
edit3.text:=strtoint(edit2.text) / 100
دوست عزیز بدلیل اینکه امکان داره جواب شما اعشاری باشه بهتره از دستور زیر استفاده کنید
دوم اینکه بعد از انجام کل محاسبه بایستی به رشته تبدیل بشه
edit3.text := floattostr(strtofloat(edit2.text) / 100)
موفق باشید
Mahmood_M
پنج شنبه 17 تیر 1389, 18:31 عصر
مقدار Text یک Edit از نوع String هست ، پس نمی تونید یک مقدار عددی رو درونش قرار بدید ، ابتدا باید حاصل محاسبات رو به String تبدیل کنید و بعد درون Edit قرار بدید :
Edit2.Text := FloatToStr(StrToInt(Edit1.Text) / 100);
در دستور بالا از تابع FloatToStr استفاده شد ، منظور از نوع Float یک عدد اعشاری هست ، چون عملگر تقسیم " / " حاصلش ممکنه یک عدد اعشاری باشه ، دلفی حاصل این تقسیم رو به عنوان یک نوع اعشاری می شناسه ، اگر از تابع IntToStr استفاده کنید با خطا مواجه میشید ، IntToStr مقادیر Integer که عدد صحیح هستند رو به String تبدیل می کنه ولی حاصل محاسبات ما یک عدد اعشاری هست ...
یک تذکر :
سعی کنید قوانین سایت رو رعایت کنید ، هر سئوال رو در بخش مربوط به خودش بپرسید ، بخش بانک های اطلاعاتی جای مطرح کردن سئوالاتی مثل این سئوال نیست ...
موفق باشید ...
ویرایش : جوابها همزمان شد ... !!
ms.nazeri
پنج شنبه 17 تیر 1389, 18:41 عصر
سلام دوست عزیز
ممنون از جوابتون ولی باید بگم باز هم ارور میگیره از عدد 100؟
هر روشی رو امتحان کردم!
به نظرتون نوع نوشتنم درسته ؟ چی کم گذاشتم ؟ چیزی رو نباید تبدیل کنم ؟
مقدار ادیت من از نوع اینتیجر هست..
Mahmood_M
پنج شنبه 17 تیر 1389, 18:48 عصر
به نظرتون نوع نوشتنم درسته ؟ چی کم گذاشتم ؟ چیزی رو نباید تبدیل کنم ؟
دقیقا دستوراتی که نوشتید رو اینجا بزارید ...
مقدار ادیت من از نوع اینتیجر هست..
مقدار درون Edit از نوع Integer نیست بلکه یک مقدار رشته ای شامل عدد هست ، برای اینکه به نوع عددی ( مثلا Integer ) تبدیل بشه باید از توابعی مثل StrToInt یا ... استفاده کنید ...
homayoun_sa
جمعه 18 تیر 1389, 18:06 عصر
ببین دوست عزیز
دستوری که محمود نوشته کاملا درسته
edit3.text:=floattostr(strtoint(edit2.text) / 100 );
ولی به جای تقسیم بر صد می تونی اون را * 0,01 هم بکنی
به این شکل
edit3.text:=floattostr(strtofloat(edit2.text) * 0.01 );
این رو هم امتحان کن
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.