اذهب الي المحتوي
saif aldeen

دالة تفقيط

Recommended Posts

saif aldeen

السلام عليكم

بعد التحيه

الاخوه الاعزاء ممكن دالة التفقيط )اي تحويل الرقم الى نص( تبعثوه محتاجهه في عملي 

مع جزيل الشكر

سيف الدين 

sfsaif1@yahoo.com

شارك هذه المشاركه


رابط المشاركه
شارك
Oracle forms & APEX

الفنكشنز:

 

create or replace FUNCTION spell_number (p_number IN NUMBER)
   RETURN VARCHAR2
AS
   TYPE myArray IS TABLE OF VARCHAR2 (255);

   l_str myArray
         := myArray ('',
                     ' thousand ',
                     ' million ',
                     ' billion ',
                     ' trillion ',
                     ' quadrillion ',
                     ' quintillion ',
                     ' sextillion ',
                     ' septillion ',
                     ' octillion ',
                     ' nonillion ',
                     ' decillion ',
                     ' undecillion ',
                     ' duodecillion ');

   l_num      VARCHAR2 (50) DEFAULT TRUNC (p_number);
   l_return   VARCHAR2 (4000);
BEGIN
   FOR i IN 1 .. l_str.COUNT
   LOOP
      EXIT WHEN l_num IS NULL;

      IF (SUBSTR (l_num, LENGTH (l_num) - 2, 3) <> 0)
      THEN
         l_return :=
            TO_CHAR (TO_DATE (SUBSTR (l_num, LENGTH (l_num) - 2, 3), 'J'),
                     'Jsp')
            || l_str (i)
            || l_return;
      END IF;

      l_num := SUBSTR (l_num, 1, LENGTH (l_num) - 3);
   END LOOP;

   RETURN l_return;
END;

create or replace FUNCTION NUM_TO_WORDS (p_num number) RETURN varchar2 IS
 mn number(12,2):=round( p_num,2) ;
BEGIN
    if mn-trunc( mn) <>0 then
                 return spell_number( trunc( mn) ) ||' & '||    spell_number(  (mn-trunc( mn))*100 )  ||' Fils';
    else
            return spell_number( mn) ;
    end if;
END;

 

الاستخدام:

select NUM_TO_WORDS(1222) from dual;

----------------------------------

One thousand Two Hundred Twenty-Two

  • أعجبني 1

شارك هذه المشاركه


رابط المشاركه
شارك
mohamed.ramadan

مرفق دالتان للتفقيط

فعل اولا:

  • DIGITS3_WORD

ثانيا:

  • TAFQEET

وكود منادة الدالة كالتالى:

select TAFQEET(76500)
from dual;

 

DIGITS3_WORD.sql TAFQEET.sql

شارك هذه المشاركه


رابط المشاركه
شارك
saif aldeen

السلام عليكم

اخواني الاعزاء ممكن تساعدوني باللغة العربيه تكون دالة التفقيط يعني بالدينار

مع جزيل الشكر

شارك هذه المشاركه


رابط المشاركه
شارك
saif aldeen

الاخ العزيز محمد رمضان

شكرا جزيلا على المساعده نفذت الفنكشن وغيرت العملة الى الدينار والفلس

شكرا اخي مع فائق التقدير

  • أعجبني 1

شارك هذه المشاركه


رابط المشاركه
شارك
saif aldeen

السلام عليكم

الاخ العزيز محمد

ممكن طريقة استدعاء هذه الفنكشن على الفورم بلدر 

استدعيتها على الفورم لكنها تظهر لي خطا ومرات تغلق الفورم 

اذا ممكن مساعدتك اذا مطبقه على الفورم بلدر

مع جزيل الشكر.

في ١٢‏/٢‏/٢٠٢٠ at 11:19, mohamed.ramadan said:

مرفق دالتان للتفقيط

فعل اولا:

  • DIGITS3_WORD

ثانيا:

  • TAFQEET

وكود منادة الدالة كالتالى:


select TAFQEET(76500)
from dual;

 

DIGITS3_WORD.sql 4.42 \u0643\u064a\u0644\u0648 \u0628\u0627\u064a\u062a · 3 downloads TAFQEET.sql 3.46 \u0643\u064a\u0644\u0648 \u0628\u0627\u064a\u062a · 2 downloads

 

شارك هذه المشاركه


رابط المشاركه
شارك
mohamed.ramadan
في ١٦‏/٢‏/٢٠٢٠ at 10:03, saif aldeen said:

السلام عليكم

الاخ العزيز محمد

ممكن طريقة استدعاء هذه الفنكشن على الفورم بلدر 

استدعيتها على الفورم لكنها تظهر لي خطا ومرات تغلق الفورم 

اذا ممكن مساعدتك اذا مطبقه على الفورم بلدر

مع جزيل الشكر.

 

:your_item:=tafqeet(7500);
or 
:your_item:=tafqeet(:another_item);

 

شارك هذه المشاركه


رابط المشاركه
شارك
saif aldeen

الاخ العزيز محمد

استخدمة هذه الطريقة للاستدعاء الفنكشن في فورم بلدر i6 لكن لم تنفذ نفس الخطا

يخرج من الفورم .

استخدمة طريقة ثانية لكن معقده شويه عن طريق بروسيجر ثانية انفذ الفنكشن واضع النتيجة في جدول

وبعدها اسحب النتيجه من الجدول لى الفورم. لكن طريقة معقده 

اكيد يوجد طريقة اسهل ؟؟؟

 

مع الشكر والتقدير

 

شارك هذه المشاركه


رابط المشاركه
شارك

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان

×
×
  • اضف...

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

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