PDA

View Full Version : سوال در مورد تبدیل مقادیر اعشاری در دلفی



ZonLine
چهارشنبه 23 اردیبهشت 1394, 08:15 صبح
با سلام خدمت دوستان عزیز
مسئله ای هست که میخوام مطرح کنم و با هم فکری شما دوستان عزیز به جواب برسم
بنده در حال نوشتن برنامه ای هستم که نیاز هست داخل این برنامه اعداد با دقت 19 رقم صحیح و 9 رقم اعشاری در بانک اطلاعاتی ذخیره شده و یا اینکه موارد ذخیره شده در بانک فراخوانی شده و به کاربر نمایش داده شود
در مورد ذخیره کردن این نوع اعداد در اسکیوال مشکلی ندارم و می تونم اونا رو در بانک به راحتی ذخیره کنم اما وقتی که میخوام این مقادیر رو از بانک بخونم و به کاربر نمایش بدم به مشکل می خورم
به این معنی که مقدار رو از بانک لود کرده و از تابع تبدیل مقدار اعشاری به رشته ای استفاده میکنم و در صورتیکه اگر از فرمت هم استفاده کنم نهایتا میشه تا 9 رقم صحیح و 9 رقم اعشاری تبدیل کنم که دستورش رو در پایین مینویسم ، لطفا دوستان عزیز اگر راه حلی به ذهنتون میرسه بگین تا بتونم این مشکل رو حل کنم




FloatNo_EDT.Text := FloatToStrF(Value1, ffFixed, 28, 10);
نوع داده : Extended


نکته: دوستان این رو هم بگم که نمیخوام مقادیر رو از بانک به صورت رشته ای بخونم و داخل ادیت باکس نمایش بدم و فقط باید به صورت اعشاری خونده بشه تا بشه عملیات ریاضی روش انجام بشه
ممنون میشم اگه جوابم رو بدین.

golbafan
چهارشنبه 23 اردیبهشت 1394, 08:30 صبح
برای نمایش از خواندن رشته ای استفاده کنید
برای محاسبات هم مقدار عددی را از دیتابیس فراخوانی کنید (اگر محاسبات را با دیتابیس انجام دهید بهتر است)

راه دیگرش اینه که محاسبات رو با رشته ها انجام بدید (خیلی پیچیده میشه)

ZonLine
چهارشنبه 23 اردیبهشت 1394, 09:11 صبح
برای نمایش از خواندن رشته ای استفاده کنید
برای محاسبات هم مقدار عددی را از دیتابیس فراخوانی کنید (اگر محاسبات را با دیتابیس انجام دهید بهتر است)

راه دیگرش اینه که محاسبات رو با رشته ها انجام بدید (خیلی پیچیده میشه)

ممنون از راهنماییتون
حالا هیچ راهی نداره اگر بخوایم مقادیر رو از بانک به صورت اعشاری بخونیم و همون رو به صورت کامل برای کاربر نمایش بدیم؟
این نکته رو هم بگم که بنده برای خواندن اطلاعات از بانک اطلاعاتی از رکورد استفاده می کنم یعنی یک رکورد با تمامی فیلدهایی که در بانک وجود دارد ساخته و مقادیر فیلدها رو داخل رکورد میریزم و بعد از آن ادامه برنامه برای نمایش و یا محاسبات و اگر بخوام به روش شما عمل کنم برای مقادیر اعشاری باید دو مورد در رکورد فوق در نظر بگیرم که یکی رشته ای برای نمایش به کاربر و دیگری عددی اعشاری برای انجام محاسبات ، درست متوجه شدم؟

golbafan
پنج شنبه 24 اردیبهشت 1394, 15:51 عصر
ممنون از راهنماییتون
حالا هیچ راهی نداره اگر بخوایم مقادیر رو از بانک به صورت اعشاری بخونیم و همون رو به صورت کامل برای کاربر نمایش بدیم؟
این نکته رو هم بگم که بنده برای خواندن اطلاعات از بانک اطلاعاتی از رکورد استفاده می کنم یعنی یک رکورد با تمامی فیلدهایی که در بانک وجود دارد ساخته و مقادیر فیلدها رو داخل رکورد میریزم و بعد از آن ادامه برنامه برای نمایش و یا محاسبات و اگر بخوام به روش شما عمل کنم برای مقادیر اعشاری باید دو مورد در رکورد فوق در نظر بگیرم که یکی رشته ای برای نمایش به کاربر و دیگری عددی اعشاری برای انجام محاسبات ، درست متوجه شدم؟


نیازی نیست
شما میتونی با query زدن هم اعشاری بدست بیاری و هم رشته ای بعد فیلد رو برای نمایش بصورت رشته بخون:

dataset.fields[0].asstring