![]() |
|
الفاصل العشري - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : الفاصل العشري (/showthread.php?tid=1155) |
الفاصل العشري - nabilkeb - 30-08-2009 إذا أردت أن أعتمد عددين بعد الفاصلة للــ Edt مثلا: كود : Edt.text:=formatfloat('0.00',strtofloat(Edt.text));السؤال: إذا كان الناتج مثلا 3.123 فإنه سيكون 3.12 ،أما إذا كان 3.10 فإنه يعرض في DBgrid على شكل 3.1 - كيف أجعله يعرض 3.10 ؟ - كيف ( أجمع الأعداد ) يعني أفرق بين كل 3 أرقام بفراغ مثلا: 1325874.12 يكون : 847.12 325 1 رغم أنني اطلعت على هذه المشاركة إلا أني لم أستفد منها في حل الإشكال. الفاصل العشري - MjIrIm - 30-08-2009 في البداية السلام عليكم بالنسبة لاستعمال الدالة FormatFloat يكون المثال الأول كالاتي كود : Edit2.Text:= FormatFloat('0.00', StrToFloat(Edit1.Text));كود : Edit2.Text:= FormatFloat('### ### ###.00', StrToFloat(Edit1.Text));لمزيد من الأمثلة لكيفية استعمالها, يمكن زيارة هذا الرابط كود : hxxp://www.delphibasics.co.uk/RTL.asp?Name=FormatFloatبالنسبة لك تتعامل مع DBGrid لذلك وجب عليك التأكد من أن الحقل الموجود في الجدول ذو نوعية عددي و منه تحدد عدد الأرقام بعد الفاصل و السلام. الفاصل العشري - nabilkeb - 31-08-2009 شكرا على المســاعدة . فيما يخص السؤال الأول : إقتباس :لذلك وجب عليك التأكد من أن الحقل الموجود في الجدول ذو نوعية عددي و منه تحدد عدد الأرقام بعد الفاصلكيف ذلك ؟ لأن هذا هو المطلوب أخي ، نحدد عدد الأرقام بعد الفاصلة في Edt مثلا ، بواسطة الدالة FormatFloat هذا معلوم و تم طرحه ، و لكن عند تخزين القيمة 3.10 بالجدول تعرض 3.1 بــ DBgrid الفاصل العشري - kachwahed - 02-09-2009 السلام عليكم في الحقيقة لم أفهم المشكلة بالضبط هذه بعض الملاحظات التي قد تفيدك: - كما ذكر أخي MjIrIm يمكن كتابةرمز فاصل الآلاف بشكل أفضل: كود : Edit2.Text:= FormatFloat('#,##.0', StrToFloat(Edit1.Text));كود : ThousandSeparator := ' ';كود : Edit2.Text := '3'+DecimalSeparator+'1';كود : Format string- 1234 -1234 0.5 0
1234 -1234 0.5 0
0 1234 -1234 1 0
0.00 1234.00 -1234.00 0.50 0.00
#.## 1234 -1234 .5
#,##0.00 1,234.00 -1,234.00 0.50 0.00
#,##0.00;(#,##0.00) 1,234.00 (1,234.00) 0.50 0.00
#,##0.00;;Zero 1,234.00 -1,234.00 0.50 Zero
0.000E+00 1.234E+03 -1.234E+03 5.000E-01 0.000E+00
#.###E-0 1.234E3 -1.234E3 5E-1 0E0الفاصل العشري - nabilkeb - 02-09-2009 الاشكال يتمثل في : جدول به حقل عددي ، نريد تخزين قيمة Edt بهذا الحقل على شكل عددين بعد الفاصلة+تفريق الأعداد بفراغ. الغاية : 1- لتظهر بشكل مقروء و متعارف عليه1، في DbGrid 2-الطباعة (ِQrDBtext مربوط بالحقل ) و لكن مثالا حول الدالة FormatFloat تقدمت به ، و المثال نفسه المطروح تقدمت به أنا أولا ، لكي لا يغوص الأصدقاء هنا و هناك دون أن أنتفع أنا صاحب السؤال. - نستطيع أن نكتب عدد معين برقمين بعد الفاصلة في Edit مثلا(FormatFloat) ، كذلك نستطيع تخزين قيمة الــ Edit في جدول (في حقل معين) كما هي إذا كان نوع الحقل نصي . لكن إذا كان النوع عددي (مثل الذي عندي _ و هو المطلوب) و كانت قيمة Edit أولا 12 مثلا ، فستصبح 12.00 ثم تخزن في الجدول ، و لن تبق 12.00 بل ستصبح 12 ، لأن الحقل عددي : 12=12.00 . و لو كانت مثلا 12.1 ، فستصبح 12.10 ثم تخزن 12.1 كيف الحل (حفظ العدد برقمين بعد الفاصلة ) دون تغيير نوع الحقل (عددي) ؟ الفاصل العشري - nabilkeb - 08-09-2009 يعني لا داعي لكل ما سبق من الكلام حول np و تعريف np ، لا شيء من هذا القبيل سيحل المشكل. الحل : ببساطة : display format 00.00 للحقل اللعددي هذا ينفع. الفاصل العشري - amer mohamed - 10-06-2012 السلام عليكم تحية للجميع لم تفصل في الامر اخي nabilkeb كيف تستعمل هذه display format 00.00 الفاصل العشري - hamou1982 - 10-06-2012 السلام عليكم ورحمة الله تعالى وبركاته اضغط على table1 بيمين الفأرة ثم بعذ ذلك الى editeur de champs ثم بعد ذلك ادرج الحقول التابعة للجدول من قاعدة البيانات وبعدها ضع المؤشر على الحقل العددي بعدها الى خصائص الحقل في l'inspecteur d'objet اذهب الى DisplayFormat ضع هذا كود : ##,##0.00كود : ## ##0.00وبالتوفيق الفاصل العشري - format82 - 11-06-2012 إقتباس :2-الطباعة (ِQrDBtext مربوط بالحقل )في الحدث من OnPrint اكتب الكود التالي Value:=FormatFloat('0.00',StrToFloat(Value)); |