الانتقال إلى المحتوى

عايز يا جماعة اعمل function تحول اى رقم الى نفس الرقم بس بالحروف


amropetro

Recommended Posts

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

CREATE OR REPLACE FUNCTION TAREK.NUMBER_CONVERSION_t(NUM NUMBER) RETURN VARCHAR2
IS
A VARCHAR2(1000);
B VARCHAR2(20);
X NUMBER;
Y NUMBER := 1;
Z NUMBER;
LSIGN NUMBER;
NO NUMBER;
BEGIN X:= INSTR(NUM, '.');
LSIGN := SIGN(NUM);
NO := ABS(NUM);
IF NO = 0 then 
A := 'Zerooooooooooo' ; 
return A ;

end if  ;
IF X = 0 THEN
SELECT TO_CHAR(TO_DATE(NO, 'J'),'JSP')  INTO A FROM DUAL;
ELSE     
  SELECT to_char(to_date(SUBSTR(NO, 1, NVL(INSTR(NO, '.')-1, LENGTH(NO))),'J'),'JSP') INTO A FROM DUAL;
  SELECT LENGTH(SUBSTR(NO, INSTR(NO, '.')+1)) INTO Z FROM DUAL;
  A := A ||' POINT ';
  WHILE Y< Z+1
      LOOP 
        SELECT TO_CHAR(TO_DATE(SUBSTR(NO, (INSTR(NO, '.')+Y), 1), 'J'), 'JSP')  INTO B FROM DUAL; 
        A := A || B ||' '; 
        y :=y+1;
      END LOOP;
END IF;
IF LSIGN = -1 THEN
   RETURN 'NEGATIVE '||A;
ELSE
   RETURN A;
END IF;

END;
/



وعلى فكرة الترجمة بالانجليزية - هل تريدها انجليزى او عربى ؟
طارق

رابط هذا التعليق
شارك

يا سيدى الفاضل
هذه ال function لا تنفعك حيث انها تقوم بتحويل الى الانجليزية فقط وعموما فهى تعتمد على loop يقوم بتحويل الارقام ال date باستخدام صيغة jsp حيث تقوم بترجمة الارقام

WHILE Y< Z+1
LOOP 
SELECT TO_CHAR(TO_DATE(SUBSTR(NO, (INSTR(NO, '.')+Y), 1), 'J'), 'JSP') INTO B FROM DUAL; 
A := A || B ||' '; 
y :=y+1;
END LOOP;


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

SELECT TO_CHAR(TO_DATE(123,'J'),'JSP') 
FROM   dual;


[line][/line]اما بالنسبة للتحويل الى العربية فتوجد اكثر من باكج للتفقيط عرضها الاخوة فى المنتدى يمكنك البحث عنها منها مثلا
http://www.araboug.org/ib/index.php?showto...%CA%DD%DE%ED%D8
جرب الحث عن تفقيط وسوف تجد اكثر من مساهمة
ارجوا ان اكون قد افدتك
طارق

رابط هذا التعليق
شارك

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

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

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