إذا أردت أن أعتمد عددين بعد الفاصلة للــ Edt مثلا:
كود :
Edt.text:=formatfloat('0.00',strtofloat(Edt.text));
لديا جدول به حقل عددي يعرض في DBgrid ، يأخذ الحقل العددي قيمته من Edt ، بعددين بعد الفاصلة ، انطلاقا من الكود المذكور .
السؤال:
إذا كان الناتج مثلا 3.123 فإنه سيكون 3.12 ،أما إذا كان 3.10 فإنه يعرض في DBgrid على شكل 3.1
- كيف أجعله يعرض 3.10 ؟
-
كيف ( أجمع الأعداد ) يعني أفرق بين كل 3 أرقام بفراغ مثلا: 1325874.12 يكون : 847.12 325 1
رغم أنني اطلعت على هذه المشاركة إلا أني لم أستفد منها في حل الإشكال.
شكرا على المســاعدة .
فيما يخص السؤال الأول :
إقتباس :لذلك وجب عليك التأكد من أن الحقل الموجود في الجدول ذو نوعية عددي و منه تحدد عدد الأرقام بعد الفاصل
كيف ذلك
؟ لأن هذا هو المطلوب أخي ، نحدد عدد الأرقام بعد الفاصلة في Edt مثلا ، بواسطة الدالة FormatFloat هذا معلوم و تم طرحه ، و لكن عند تخزين القيمة 3.10 بالجدول تعرض 3.1 بــ DBgrid
الاشكال يتمثل في :
جدول به حقل عددي ، نريد تخزين قيمة 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
كيف الحل (حفظ العدد برقمين بعد الفاصلة ) دون تغيير نوع الحقل (عددي) ؟
يعني لا داعي لكل ما سبق من الكلام حول np و تعريف np ، لا شيء من هذا القبيل سيحل المشكل.
الحل : ببساطة : display format 00.00 للحقل اللعددي
هذا ينفع.
السلام عليكم
تحية للجميع
لم تفصل في الامر اخي nabilkeb كيف تستعمل هذه display format 00.00
السلام عليكم ورحمة الله تعالى وبركاته
اضغط على table1 بيمين الفأرة ثم بعذ ذلك الى editeur de champs
ثم بعد ذلك ادرج الحقول التابعة للجدول من قاعدة البيانات
وبعدها ضع المؤشر على الحقل العددي
بعدها الى خصائص الحقل في l'inspecteur d'objet
اذهب الى DisplayFormat
ضع هذا
وا
هذا لإظهار المبلغ كما طلبت في DBGrid وفي كل المكونات المتعلقة بقاعدة البيانات
وبالتوفيق
إقتباس :2-الطباعة (ِQrDBtext مربوط بالحقل )
في الحدث من OnPrint اكتب الكود التالي
Value:=FormatFloat('0.00',StrToFloat(Value));