النتائج 1 إلى 9 من 9

الموضوع: الدالة السحرية لتحويل الأرقام العربية لكلمات

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Feb 2003
    المشاركات
    76

    الدالة السحرية لتحويل الأرقام العربية لكلمات



    الدالة تستقبل أرقام وتقوم بتحويلها إلى كلمات ..

    مثال : 1215 تصبح : ألف ومائتان وخمسة عشر ..

    أرجو عدم حذف سطر الحقوق ..




    كود PHP:
    /////////////////////////////////////////// 
    //                                       // 
    // دالة التحويل من أرقام إلى حروف عربية  // 
    //                                       // 
    //               برمجة                   // 
    //    عدنــان عبـدالرحمن - ميــلاد -      // 
    //     adnan@arabmeta.com        // 
    /////////////////////////////////////////// 



    function numtoarb ($total

    $total=explode(".",$total); 
    $jstrlen($total[0]); 
    $je=$j
    $je--; 
    $de=1
    for(
    $i=1;$i<$j;$i++) 
    $de=$de*10

    $t=$total[0]; 

    for(
    $i=0;$i<$j;$i++) 

    $te[$je]=$t/$de
    $t=$t%$de
    $de=$de/10
    $temp=explode(".",$te[$je]); 
    $te[$je]=$temp[0]; 
    $je--; 





    for(
    $i=0;$i<$j;$i++) 

    if (
    $i == 0

    if (
    $j<3
    switch(
    $te[$i]) 

    case 
    "0" $arb[0]=" "
    break; 
    case 
    "1" :  $arb[0]= " واحد"  
    break; 
    case 
    "2" : if($te[1]=="1"$arb[0]=" اثنا "; else $arb[0]=" اثنان" 
    break; 
    case 
    "3" $arb[0]=" ثلاثة"
    break; 
    case 
    "4" $arb[0]=" اربعة" 
    break; 
    case 
    "5" $arb[0]=" خمسة"   
    break; 
    case 
    "6" $arb[0]=" ستة"     
    break; 
    case 
    "7" $arb[0]=" سبعة"     
    break; 
    case 
    "8" $arb[0]=" ثمانية"    
    break; 
    case 
    "9" $arb[0]=" تسعة"       
    break; 

    else 
    switch(
    $te[$i]) 

    case 
    "0" $arb[0]=" "
    break; 
    case 
    "1" :  $arb[0]=" وواحد"  
    break; 
    case 
    "2" : if($te[1]=="1"$arb[0]=" واثنا "; else $arb[0]=" واثنان" 
    break; 
    case 
    "3" $arb[0]=" وثلاثة"
    break; 
    case 
    "4" $arb[0]=" واربعة" 
    break; 
    case 
    "5" $arb[0]=" وخمسة"   
    break; 
    case 
    "6" $arb[0]=" وستة"     
    break; 
    case 
    "7" $arb[0]=" وسبعة"     
    break; 
    case 
    "8" $arb[0]=" وثمانية"    
    break; 
    case 
    "9" $arb[0]=" وتسعة"       
    break; 





    if (
    $i == 1

    if (
    $j==

    if(
    $te[$i]==1){if($te[0]=="1") {$arb[0]=" " ;$arb[1]=" أحد عشر";}  elseif($te[0]=="0")$arb[1]=" عشرة"; else $arb[1]=" عشر"    ; } 
    if ( 
    $te[0]=="0"
    switch(
    $te[$i]) 

    case 
    "0" $arb[1]=" "      
    break; 
    case 
    "1" : if($te[0]=="1") {$arb[0]=" " ;$arb[1]=" أحد عشر";} elseif($te[0]=="0")$arb[1]=" عشرة"; else $arb[1]="عشر"    
    break; 
    case 
    "2" $arb[1]=" عشرون"    
    break; 
    case 
    "3" $arb[1]=" ثلاثون"    
    break; 
    case 
    "4" $arb[1]=" اربعون"     
    break; 
    case 
    "5" $arb[1]=" خمسون"       
    break; 
    case 
    "6" $arb[1]=" ستون"         
    break; 
    case 
    "7" $arb[1]=" سبعون"         
    break; 
    case 
    "8" $arb[1]=" ثمانون"         
    break; 
    case 
    "9" $arb[1]=" تسعون"           
    break; 



    else 
    switch(
    $te[$i]) 

    case 
    "0" $arb[1]=" "      
    break; 
    case 
    "1" : if($te[0]=="1") {$arb[0]=" " ;$arb[1]=" وأحد عشر";}elseif($te[0]=="0")$arb[1]=" وعشرة"; else $arb[1]=" عشر"  
    break; 
    case 
    "2" $arb[1]=" وعشرون"    
    break; 
    case 
    "3" $arb[1]=" وثلاثون"    
    break; 
    case 
    "4" $arb[1]=" واربعون"     
    break; 
    case 
    "5" $arb[1]=" وخمسون"       
    break; 
    case 
    "6" $arb[1]=" وستون"         
    break; 
    case 
    "7" $arb[1]=" وسبعون"         
    break; 
    case 
    "8" $arb[1]=" وثمانون"         
    break; 
    case 
    "9" $arb[1]=" وتسعون"           
    break; 




    if (
    $i == 2

    if (
    $j==3
    switch(
    $te[$i]) 

    case 
    "0" $arb[2]=" "      
    break; 
    case 
    "1" $arb[2]=" مائة"    
    break; 
    case 
    "2" $arb[2]=" مائتان"    
    break; 
    case 
    "3" $arb[2]=" ثلاثمائة"    
    break; 
    case 
    "4" $arb[2]=" اربعمائة"     
    break; 
    case 
    "5" $arb[2]=" خمسمائة"       
    break; 
    case 
    "6" $arb[2]=" ستمائة"         
    break; 
    case 
    "7" $arb[2]=" سبعمائة"         
    break; 
    case 
    "8" $arb[2]=" ثمانمائة"         
    break; 
    case 
    "9" $arb[2]=" تسعمائة"           
    break; 

    else 
    switch(
    $te[$i]) 

    case 
    "0" $arb[2]=" "      
    break; 
    case 
    "1" $arb[2]=" ومائة"    
    break; 
    case 
    "2" $arb[2]=" ومائتان"    
    break; 
    case 
    "3" $arb[2]=" وثلاثمائة"    
    break; 
    case 
    "4" $arb[2]=" واربعمائة"     
    break; 
    case 
    "5" $arb[2]=" وخمسمائة"       
    break; 
    case 
    "6" $arb[2]=" وستمائة"         
    break; 
    case 
    "7" $arb[2]=" وسبعمائة"         
    break; 
    case 
    "8" $arb[2]=" وثمانمائة"         
    break; 
    case 
    "9" $arb[2]=" وتسعمائة"           
    break; 



    if (
    $i == 3

    if(
    $j==4
    switch(
    $te[$i]) 

    case 
    "0" $arb[$i]=" "      
    break; 
    case 
    "1" $arb[$i]=" ألف"    
    break; 
    case 
    "2" $arb[$i]=" ألفان"    
    break; 
    case 
    "3" $arb[$i]=" ثلاثة آلاف"    
    break; 
    case 
    "4" $arb[$i]=" اربعة آلاف"     
    break; 
    case 
    "5" $arb[$i]=" خمسة آلاف"       
    break; 
    case 
    "6" $arb[$i]=" ستة آلاف"         
    break; 
    case 
    "7" $arb[$i]=" سبعة آلاف"         
    break; 
    case 
    "8" $arb[$i]=" ثمانية آلاف "         
    break; 
    case 
    "9" $arb[$i]=" تسعة آلاف "           
    break; 

    elseif (
    $j==5

    switch(
    $te[$i]) 

    case 
    "0" $arb[$i]=" "      
    break; 
    case 
    "1" $arb[$i]=" واحد "    
    break; 
    case 
    "2" : if($te[6]=="1"$arb[$i]=" اثنا "; else $arb[$i]=" اثنان" 
    break; 
    case 
    "3" $arb[$i]=" ثلاثة "    
    break; 
    case 
    "4" $arb[$i]=" اربعة "     
    break; 
    case 
    "5" $arb[$i]=" خمسة "       
    break; 
    case 
    "6" $arb[$i]=" ستة "         
    break; 
    case 
    "7" $arb[$i]=" سبعة "         
    break; 
    case 
    "8" $arb[$i]=" ثمانية "         
    break; 
    case 
    "9" $arb[$i]=" تسعة "           


    else 
    switch(
    $te[$i]) 

    case 
    "0" $arb[$i]=" "      
    break; 
    case 
    "1" $arb[$i]=" وواحد "    
    break; 
    case 
    "2" : if($te[4]=="1"$arb[$i]=" واثنا "; else $arb[$i]=" واثنان" 
    break; 
    case 
    "3" $arb[$i]=" وثلاثة "    
    break; 
    case 
    "4" $arb[$i]=" واربعة "      
    break; 
    case 
    "5" $arb[$i]=" وخمسة "       
    break; 
    case 
    "6" $arb[$i]=" وستة "         
    break; 
    case 
    "7" $arb[$i]=" وسبعة "         
    break; 
    case 
    "8" $arb[$i]=" وثمانية "         
    break; 
    case 
    "9" $arb[$i]=" وتسعة "           


    if (
    $i == 4

    if(
    $j==
    switch(
    $te[$i]) 

    case 
    "0" $arb[$i]=" "      
    break; 
    case 
    "1" : if($te[3]=="1") {$arb[3]=" " ;$arb[4]=" أحد عشر الفا";} elseif($te[3]=="0")$arb[4]=" عشرة آلاف";else$arb[$i]=" عشر الفا"    
    break; 
    case 
    "2" $arb[$i]=" عشرون "    
    break; 
    case 
    "3" $arb[$i]=" ثلاثون "    
    break; 
    case 
    "4" $arb[$i]=" اربعون "     
    break; 
    case 
    "5" $arb[$i]=" خمسون "       
    break; 
    case 
    "6" $arb[$i]=" ستون "         
    break; 
    case 
    "7" $arb[$i]=" سبعون "         
    break; 
    case 
    "8" $arb[$i]=" ثمانون "         
    break; 
    case 
    "9" $arb[$i]=" تسعون "           
    break; 

    else 
    switch(
    $te[$i]) 

    case 
    "0" $arb[$i]=" "      
    break; 
    case 
    "1" : if($te[3]=="1") {$arb[3]=" " ;$arb[4]=" وأحد عشر الفا";} elseif($te[3]=="0")$arb[4]=" وعشرة آلاف";else$arb[$i]=" عشر الفا"    
    break; 
    case 
    "2" $arb[$i]=" وعشرون "     
    break; 
    case 
    "3" $arb[$i]=" وثلاثون "    
    break; 
    case 
    "4" $arb[$i]=" واربعون "     
    break; 
    case 
    "5" $arb[$i]=" وخمسون "       
    break; 
    case 
    "6" $arb[$i]=" وستون "         
    break; 
    case 
    "7" $arb[$i]=" وسبعون "         
    break; 
    case 
    "8" $arb[$i]=" وثمانون "         
    break; 
    case 
    "9" $arb[$i]=" وتسعون "           
    break; 


    if (
    $i == 5

    if (
    $j==6
    switch(
    $te[$i]) 

    case 
    "0" $arb[$i]=" "      
    break; 
    case 
    "1" $arb[$i]=" مائة "    
    break; 
    case 
    "2" $arb[$i]=" مائتان "    
    break; 
    case 
    "3" $arb[$i]=" ثلاثمائة "    
    break; 
    case 
    "4" $arb[$i]=" اربعمائة "     
    break; 
    case 
    "5" $arb[$i]=" خمسمائة "       
    break; 
    case 
    "6" $arb[$i]=" ستمائة "         
    break; 
    case 
    "7" $arb[$i]=" سبعمائة "           
    break; 
    case 
    "8" $arb[$i]=" ثمانمائة "         
    break; 
    case 
    "9" $arb[$i]=" تسعمائة "           
    break; 

    else 
    switch(
    $te[$i]) 

    case 
    "0" $arb[$i]=" "      
    break; 
    case 
    "1" $arb[$i]=" ومائة "    
    break; 
    case 
    "2" $arb[$i]=" ومائتان "    
    break; 
    case 
    "3" $arb[$i]=" وثلاثمائة "    
    break; 
    case 
    "4" $arb[$i]=" واربعمائة "     
    break; 
    case 
    "5" $arb[$i]=" وخمسمائة "       
    break; 
    case 
    "6" $arb[$i]=" وستمائة "         
    break; 
    case 
    "7" $arb[$i]=" وسبعمائة "           
    break; 
    case 
    "8" $arb[$i]=" وثمانمائة "         
    break; 
    case 
    "9" $arb[$i]=" وتسعمائة "           
    break; 



    if (
    $i == 6
    switch(
    $te[$i]) 

    case 
    "0" $arb[$i]=" "      
    break; 
    case 
    "1" $arb[$i]=" مليون "    
    break; 
    case 
    "2" $arb[$i]=" مليونان "    
    break; 
    case 
    "3" $arb[$i]=" ثلاثة ملايين "    
    break; 
    case 
    "4" $arb[$i]=" اربعة ملايين "     
    break; 
    case 
    "5" $arb[$i]=" خمسة ملايين "       
    break; 
    case 
    "6" $arb[$i]=" تة ملايين "         
    break; 
    case 
    "7" $arb[$i]=" سبعة ملايين "           
    break; 
    case 
    "8" $arb[$i]=" ثمانية ملايين "         
    break; 
    case 
    "9" $arb[$i]=" تسعة ملايين "           
    break; 






    if(
    $j>&& $te[4]!="1"
    $arb[4]=$arb[4]." الف "


    $strarb=$arb[6].$arb[5].$arb[3].$arb[4].$arb[2].$arb[0].$arb[1]; 
    return 
    $strarb







    __________________
    وَدّعْتُهـَـا وَدُمُــوْعِيْ مَزْجُ أدْمُعِهَا
    وَقَبـَـلَتْـنِي عَلَىْ خَوْفٍ فَمَــاً لِـفَــمِ
    فَذُقْــتُ مـَـاءَ حَيـَـاةٍ مِنْ مُقَبَلٍــهَا
    لَو صـََـاب تـُـرباً لأحْيـَا سَالِفَ الأُمَمِ


  2. #2
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


    بوركت جهود، تم تثبيت الموضوع تقديراً لجهودك ..

    هناك دوال سابقة لها نفس العمل، ابحث عن " التفقيط " وستجد بعض المشاركات المفيدة ..

    تحياتي، أشرف السمهوري





    __________________
    # اتبعني على Twitter
    # عِرفان ساهم ببناء المحتوى العربي العلمي على الإنترنت!

  3. #3
    عضو نشيط
    تاريخ التسجيل
    Feb 2003
    المشاركات
    76


    بوركت جهود، تم تثبيت الموضوع تقديراً لجهودك ..

    هناك دوال سابقة لها نفس العمل، ابحث عن " التفقيط " وستجد بعض المشاركات المفيدة ..

    تحياتي، أشرف السمهوري
    أشكرك على التثبيت .. استخدمت بعض الدوال سابقاً ووجدت فيها بعض المشاكل .. لذا تم برمجة الدالة ..

    تقبل شكري ..





    __________________
    وَدّعْتُهـَـا وَدُمُــوْعِيْ مَزْجُ أدْمُعِهَا
    وَقَبـَـلَتْـنِي عَلَىْ خَوْفٍ فَمَــاً لِـفَــمِ
    فَذُقْــتُ مـَـاءَ حَيـَـاةٍ مِنْ مُقَبَلٍــهَا
    لَو صـََـاب تـُـرباً لأحْيـَا سَالِفَ الأُمَمِ

  4. #4
    عضو فعال جدا
    تاريخ التسجيل
    Aug 2007
    المشاركات
    3,929


    http://www.swalif.net/softs/swalif45/softs49757/
    كنت احتفظ بدالتك الاخري في مفضلتي
    والتي وضعتها هنا في المنتدي منذ 5 سنوات

    دالتك الحالية مميزة للغاية
    ولكن كم خانة تقبل ؟





    __________________
    تحاور مع العاقل بعقل .. اما ان يقتنع او تقتنع
    وتحاور مع الجاهل بعقل .. اما يطقعش او تفرقش
    وتلك الفاظ لا معنى لها كذلك كلماته

  5. #5
    عضو نشيط
    تاريخ التسجيل
    Feb 2003
    المشاركات
    76


    http://www.swalif.net/softs/swalif45/softs49757/
    كنت احتفظ بدالتك الاخري في مفضلتي
    والتي وضعتها هنا في المنتدي منذ 5 سنوات

    دالتك الحالية مميزة للغاية
    ولكن كم خانة تقبل ؟
    أهلا وسهلا بك أستاذي الكريم .. الدالة الحالية تقبل 8 خانات أي حتى 100 مليون ..

    لك شكري ..





    __________________
    وَدّعْتُهـَـا وَدُمُــوْعِيْ مَزْجُ أدْمُعِهَا
    وَقَبـَـلَتْـنِي عَلَىْ خَوْفٍ فَمَــاً لِـفَــمِ
    فَذُقْــتُ مـَـاءَ حَيـَـاةٍ مِنْ مُقَبَلٍــهَا
    لَو صـََـاب تـُـرباً لأحْيـَا سَالِفَ الأُمَمِ

  6. #6
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    547


    مشكور أخي العزيز ميلاد على هذا العمل الطيب، لكن على أساس أن الشيء بالشيء يذكر، أود الإشارة إلى وظيفة مشابهة متوفرة في مكتبة Ar-PHP التي أطورها، وهي تتمتع بالقليل من المزايا الإضافية منها أنها قادرة على التعامل مع أرقام مؤلفة من 12 خانة، كما أنها تمكنك من ضبط خاصية التذكير والتأنيث إضافة إلى الحالة الإعرابية سواء كانت رفع أم نصب أم جر، إضافة إلى ذلك فهو منشور تحت ترخيص البرمجيات الحرة المفتوحة المصدر، يمكنك الإطلاع على مثال حي لاستخدام هذه الميزة من خلال الرابط التالي:

    PHP and Arabic Language - Numbers Example





    __________________
    خالد الشمعة - Khaled Al-Shamaa
    PHP and Arabic language

  7. #7
    عضو نشيط
    تاريخ التسجيل
    Jun 2007
    المشاركات
    255


    شكراااااا اخي meylad الله يوفقك دنيا واخرة ..

    استاذنا الغالي DNSerror اسئل الله ان يحرم وجهك عن النار وفقكم الله جميع على هذا المجهود الرااائع ..






  8. #8
    عضو جديد
    تاريخ التسجيل
    Aug 2007
    المشاركات
    28

    دالة تحول الأرقام العربية لحروف



    شكرا أخوي على الدالة الرائعة





    __________________
    إيهاب عصام علي ..
    مبرمج ومطور
    Linux Lover :)
    www.ihtraf.net/forum
    الآن تعلم لغات البرمجة ببلاش!(بيرل-php-ajax-java...etc)
    كود PHP:
    $1"موجود";
    $
    2="24 ساعة";
    echo 
    "$1";
    echo 
    "</br>";
    echo 
    "$2"

  9. #9
    عضو فعال
    تاريخ التسجيل
    Feb 2003
    المشاركات
    1,174


    شكــراً لك يا الغالي على الدالة ,,

    طبقتها ولكن في خطآ مطبعي ,,

    جرب تطبع نص للقيمة التاليه 12345

    " اثنان عشر الفا وثلاثمائة وخمسة واربعون"





    __________________
    منابر المتميز | شبكة المتميز
    حالياً في الأردن : 962777775774
    -----------------------------------
    مطور ويب / JS(incl AJAX) , PHP, XML

    تتبعني في Twitter





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض