الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

How To Remove Space

Featured Replies

بتاريخ:

السلام عليكم

لدي حقل لادخال السعر

item_price data type number

الفورمات ماسك

 
"AED" 9999.99



اذا ادخلت رقم 3456.25 يظهر بالشكل الصحيح 3456.25 AED
ولكن اذا ادخلت رقم صغير مثلا 5.25 تظهر مسافة بين الرقم والعملة فيكون بالشكل 5.25 AED

كيف يمكن ان امسح المسافات بين الرقم والعملة اذا وجدت مسافة اكثر من مسافة واحدة باستخدام ltrim

بانتظار ردودكم

lune

بتاريخ:
  • كاتب الموضوع

ولا رد :huh:

بتاريخ:

لن تحتاج لأستخدام ltrim

جرب استخدام الكود التالي
مع بعض التغييرات في الفورم

select replace(translate('999, 778',' ','_'),'_')  from dual;

بتاريخ:
  • كاتب الموضوع

sky information

مشكووووووووووور ع الرد

بجرب الكود باجر وبرد عليك


-------
lune

بتاريخ:
  • كاتب الموضوع

للاسف لم يعمل الكود

ع العموم اتمنى اذا حد عنه حل يساعدني


اختكم
lune

بتاريخ:

ممكن توضييح اكثر ليه مشتغل الكود لانه يشتغل معي 100%

بتاريخ:
  • كاتب الموضوع

انا وضعت الكود في

when validate item trigger

ولكن عندما اعمل compile يظهرلي error

daul must be declared

بتاريخ:

الخطأ الذي حصل معك هو ان الجدول ليس daul بل هوdual

وكما ذكرت في جوابي استخدام الكود مع بعض التغييرات في الفورم لنفرض ان العمود هو sal نغير الكود إلى

declare
total varchar2(5);
begin
total:= replace(translate(:sal,' ','_'),'_');

:sal:=total;
end;



واي مشكلة انا حاضر
ويفضل إرفاق الفورم لكي نحل المشكلة

ملاحظة إذا لم يعمل الكود جربي بدل

total:= replace(translate(:sal,' ','_'),'_');



الكود التالي

total:= to_char(replace(translate(:sal,' ','_'),'_'));

بتاريخ:
  • كاتب الموضوع

sky information

مشكور على اهتمامك

بصراحة جربت كل اللي قلتة بس مانفع

الفورم في هذا اللينك

Price Field

الفورم من هنا

اسمحلي تعبتك معاي

lune

بتاريخ:

ممكن ترفعيه على موقع اخر او ارفعي الملف هنا مباشرة لأن هذا الموقع محجوب عندي

بتاريخ:

شكرا لإضافة الفورم ......................(لم استطع تشغيل الفورم لأنك لم ترفقي الجدول معه)

عموما الحل:

الأكواد التي اضفتها انا لم تكن تعمل بسب format mask لأن حينما ندخل قيمة فرضا 1111.11
فإن الناتج يكون AED 1111.11 وهنا لاتعتبر مشكلة لأن المسافة بين العملة والأرقام تشكل حرف واحد

أما إذا اضفنا رقم 100.66 فإن الناتج هو AED 100.66 فلمعرفة مقدار المسافة ننسخ هذه المسافة وننفذ الأمر

 select length('   ') from dual;



ومقدار المسافة هنا 3 حروف وسبب زيادة المسافة هو format mask= ِAED 9999.99

لأن اي رقم قبل الفاصلة يكون اقل من 4 يتم استبداله بفراغ فلذلك لم تكن الأكواد تعمل لأن format mask يجبر الحقل بأن يتخذ شكل معين

من وجهة نظري انه لايوجد الا حل واحد:

وهو استبدال المسافات هذه بالقيمة (0)لذلك يجب تغيير format mask= ِAED 9999.99 إلى
format mask= ِAED 0000.00

فإذا حاول شخص ادخال رقم مثلا 100.66 فلن يكون هنالك مسافة بين العملة والأرقام وسيكون الناتج هو

AED 00100.66

انمنى ان يكون الجواب واضح

بتاريخ:
  • كاتب الموضوع

sky information

مشكور على مجهودك وصبرك معاي

والمساعدة


-------
lune

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.