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

الموضوع: تحويل الارقام الى حروف وكلمات

  1. #1
    عضو جديد
    تاريخ التسجيل
    Jul 2003
    المشاركات
    14

    Wink تحويل الارقام الى حروف وكلمات



    السلام عليكم

    ممكن كود php لتحويل الارقام الى حروف

    مثل 123

    مائة وثلاث وعشرون

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

    مثل 45 او 64 او غيرها

    عنوان الدالة التي بها الخلل

    http://www.swalif.net/softs/swalif45/softs257694/

    او اي حد يصلح الخلل

    ياريت مساعدة من اهل الخير

    مع الاحترام والتقدير

    :shy:





    __________________
    إستخدم ملفك الخاص لكتابة توقيعك


  2. #2
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,516


    مكتبة خالد الشمعه

    http://www.ar-php.org/

    أنا كتبت هذا الكود مرة - لكن كود خالد الشمعه أحسن.
    هذا هو الكود بتاعي:
    http://muslim-names.us/test.php
    كود:
    function arabicNumber($num){
    	
    	
    	$aname=array('واحد','اثنان','ثلاثة','اربعة','خمسة','ستة','سبعة','ثمانية','تسعة','عشرة','أحد عشر','اثنا عشر');
    	$aname10=array('عشر','عشرون','ثلاثون','اربعون','خمسون','ستون','سبعون','ثمانون','تسعون');
    	$aname100=array('مئة','مئتان','ثلثمائة','اربعمائة','خمسمائة','ستمائة','سبعمائة','ثمانمائة','تسعمائة');
    	$aname1000=array('الف','الفان');
    
    		$num4=floor($num / 1000 );
    		$num3=floor(($num-100*num3-1000*$num4) / 100 );
    		$num2=floor(($num-100*$num3) / 10) ;
    		$num1=$num - 10*$num2;
    
    
    	//echo "<br />num $num num1 $num1 num2 $num2 ";
    	
    	
    	if($num4==0 and $num>999) return $aname1000[$num4-1];
    	if($num4>2 and $num4<11 ) return $aname[$num4-1]." آلاف و".arabicNumber($num-1000*$num4);
    	if($num4>2 and $num4>10) return arabicNumber($num4-1)." ألف و".arabicNumber($num-1000*$num4);
    	if($num4<3 and $num>1000) return $aname1000[$num4-1]." و ".arabicNumber($num-1000*$num4);
    	
    	
    	if($num3==0 and $num>99) return $aname100[$num3-1];
    	if($num3<>0 and $num>100) return $aname100[$num3-1]." و ".arabicNumber($num-100*$num3);
    	
    	if($num>12 and $num<20) return $aname[$num1-1]." ".$aname10[$num2-1];
    	if($num>20 and $num % 10 <> 0 ) return $aname[$num1-1]." و ".$aname10[$num2-1];
    		
    	if($num<13) return $aname[$num-1];
    	if($num>19 and $num % 10 == 0 ) return $aname10[$num2-1];
    
    return $num;
    
    }






    التعديل الأخير تم بواسطة massalha ; 10-01-2010 الساعة 12:41 AM
    __________________
    أحب سوالف ولا احب الجدليين!
    اسماء اولاد وبنات http://muslim-names.us
    1000 مزاد http://1000mazad.com
    موقع نكت سعوديةhttp://arab-jokes.net

  3. #3
    عضو جديد
    تاريخ التسجيل
    Jul 2003
    المشاركات
    14

    السلام عليكم



    شكرا اخي الكريم على المساعدة

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

    مع الاحترام والتقدير





    __________________
    إستخدم ملفك الخاص لكتابة توقيعك

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

    حل مستخلص



    السلام و عليكم و رحمة الله

    لقد قمت بمشاهدة الموضوع و بعد إذن المبرمجين الذين قاموا بعمل الكود، هذا حل مقترح

    ==============================

    كود PHP:
    <?php
    function num2text($num)
    {
        if(
    $num 10000)
            
    $res arabicNumber($num);
        else
            
    $res numtoarb($num);
        return(
    $res);
    }

    function 
    arabicNumber($num){
        
    $aname=array('واحد','اثنان','ثلاثة','اربعة','خمسة','ستة','سبعة','ثمانية','تسعة','عشرة','أحد عشر','اثنا عشر');
        
    $aname10=array('عشر','عشرون','ثلاثون','اربعون','خمسون','ستون','سبعون','ثمانون','تسعون');
        
    $aname100=array('مئة','مئتان','ثلثمائة','اربعمائة','خمسمائة','ستمائة','سبعمائة','ثمانمائة','تسعمائة');
        
    $aname1000=array('الف','الفان');

            
    $num4=floor($num 1000 );
            
    $num3=floor(($num-100*num3-1000*$num4) / 100 );
            
    $num2=floor(($num-100*$num3) / 10) ;
            
    $num1=$num 10*$num2;


        
    //echo "<br />num $num num1 $num1 num2 $num2 ";
        
        
        
    if($num4==and $num>999) return $aname1000[$num4-1];
        if(
    $num4>and $num4<11 ) return $aname[$num4-1]." آلاف و".arabicNumber($num-1000*$num4);
        if(
    $num4>and $num4>10) return arabicNumber($num4-1)." ألف و".arabicNumber($num-1000*$num4);
        if(
    $num4<and $num>1000) return $aname1000[$num4-1]." و ".arabicNumber($num-1000*$num4);
        
        
        if(
    $num3==and $num>99) return $aname100[$num3-1];
        if(
    $num3<>and $num>100) return $aname100[$num3-1]." و ".arabicNumber($num-100*$num3);
        
        if(
    $num>12 and $num<20) return $aname[$num1-1]." ".$aname10[$num2-1];
        if(
    $num>20 and $num 10 <> ) return $aname[$num1-1]." و ".$aname10[$num2-1];
            
        if(
    $num<13) return $aname[$num-1];
        if(
    $num>19 and $num 10 == ) return $aname10[$num2-1];

    return 
    $num;

    }

    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;
    }
    ?>







  5. #5
    عضو جديد
    تاريخ التسجيل
    Jul 2003
    المشاركات
    14

    السلام عليكم



    شكرا على المساعدة اخي الكريم

    ولكن نفس المشكلة

    اخي الكريم ياريت تجرب الرقم التالي على الكود

    49
    33
    23

    انظر الى النتيجة





    __________________
    إستخدم ملفك الخاص لكتابة توقيعك

  6. #6
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,516


    السلام عليكم

    http://layan.us/go/num2text/

    ومرة ثانية
    خالد الشمعه على هذه الصفحة
    http://www.ar-php.org/example-ArNumbers-php-arabic.html





    التعديل الأخير تم بواسطة massalha ; 11-01-2010 الساعة 04:29 PM
    __________________
    أحب سوالف ولا احب الجدليين!
    اسماء اولاد وبنات http://muslim-names.us
    1000 مزاد http://1000mazad.com
    موقع نكت سعوديةhttp://arab-jokes.net

  7. #7
    عضو جديد
    تاريخ التسجيل
    Jul 2003
    المشاركات
    14


    الف الف الف شكر

    الله يبارك فيكم جميعا

    دالة الاخ خالد الشمعة تعمل الان 100%

    شكرا مرة اخرى وما قصرتم

    احترامي الشديد





    __________________
    إستخدم ملفك الخاص لكتابة توقيعك

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


    شكرا اخي الكريم على المساعدة

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

    مع الاحترام والتقدير
    أخي الكريم، المثال الذي تبحث عنه موجود هنا

    http://www.ar-php.org/example-ArNumbers-php-arabic.html

    كما يمكنك تحميل المكتبة من هذا الرابط

    http://sourceforge.net/projects/ar-php/files/

    إن كانت لديك أي استفسارات أخرى فأرجو أن لا تتردد في طرحها هنا في هذا المنتدى لتجد الإجابة الشافية لها إن شاء الله





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





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

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

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