کلاس تبدیل عدد به رشته

۶ سال پیش(به روز شده در ۳ سال پیش) پی اچ پی(PHP)(کلاس) ۰

کلاس زیر با گرفتن عدد در ورودی , مقدار رشته ای آن را بر می گرداند. البته بدلیل اشکال جزیی , تغییر کمی در آن اعمال کردیم. در آخر بخش می توانید کلاس را دانلود کنید.

class number_to_text
{
   var $output;
   function number_to_text( $input )
   {
      $this->output = "";
      if ( $input != "" ) {
         $temp = "";
         $i = strlen( $input ) - 1;
         $j = 0;
         $part = 0;
         while ( $i >= 0 ) {
            $temp = $input[$i];
            if ( ( $i != 0 ) && ( $j == 0 ) && ( $input[$i - 1] == '1' ) ) {
               $temp = substr( $input, $i - 1, 2 );
               $temp = number_to_text::two_digits_to_text( $temp );
               $this->output .= $temp;
               if ( ( $i != 0 ) && ( ( $i - 1 ) != 0 ) )
                  $this->output .= " و ";
               $i = $i - 2;
               $j++;
            }
            else {
               $temp = number_to_text::digit_to_text( $temp, $j );
               if ( $temp != "" ) {
                  $this->output .= $temp;
                  if ( $i != 0 )
                     $this->output .= " و ";
               }
               $i--;
            }
            if ( $j == 2 ) {
               $part++;
               if ( $i != -1 )
                  $this->output .= " " . number_to_text::parts_name( $part ) . " ";
               $j = 0;
            }
            else
               $j++;
         }
      }
      $vars = explode( " ", $this->output );
      $this->output = "";
      $cnt = count( $vars );
      for ( $i = $cnt; $i >= 0; $i-- )
         if ( isset( $vars[$i] ) )
            $this->output .= " " . $vars[$i];
   }
   function parts_name( $part )
   {
      $output = "";
      switch ( $part ) {
         case 0:
            $output = "";
            break;
         case 1:
            $output = "هزار";
            break;
         case 2:
            $output = "میلیون";
            break;
         case 3:
            $output = "میلیارد";
            break;
         default:
            break;
      }
      return $output;
   }
   function digit_to_text( $digit, $order )
   {
      $output = "";
      if ( $order == 0 ) {
         switch ( $digit ) {
            case "0":
               $output = "";
               break;
            case "1":
               $output = "یک";
               break;
            case "2":
               $output = "دو";
               break;
            case "3":
               $output = "سه";
               break;
            case "4":
               $output = "چهار";
               break;
            case "5":
               $output = "پنج";
               break;
            case "6":
               $output = "شش";
               break;
            case "7":
               $output = "هفت";
               break;
            case "8":
               $output = "هشت";
               break;
            case "9":
               $output = "نه";
               break;
            default:
               $output = "";
               break;
         }
      }

      if ( $order == 1 ) {
         switch ( $digit ) {
            case "0":
               $output = "";
               break;
            case "1":
               $output = "";
               break;
            case "2":
               $output = "بیست";
               break;
            case "3":
               $output = "سی";
               break;
            case "4":
               $output = "چهل";
               break;
            case "5":
               $output = "پنجاه";
               break;
            case "6":
               $output = "شصت";
               break;
            case "7":
               $output = "هفتاد";
               break;
            case "8":
               $output = "هشتاد";
               break;
            case "9":
               $output = "نود";
               break;
            default:
               $output = "";
               break;
         }
      }

      if ( $order == 2 ) {
         switch ( $digit ) {
            case "0":
               $output = "";
               break;
            case "1":
               $output = "صد";
               break;
            case "2":
               $output = "دویست";
               break;
            case "3":
               $output = "سیصد";
               break;
            case "4":
               $output = "چهارصد";
               break;
            case "5":
               $output = "پانصد";
               break;
            case "6":
               $output = "ششصد";
               break;
            case "7":
               $output = "هفتصد";
               break;
            case "8":
               $output = "هشتصد";
               break;
            case "9":
               $output = "نهصد";
               break;
            default:
               $output = "";
               break;
         }
      }
      return $output;
   }
   function two_digits_to_text( $digits )
   {
      $output = "";
      switch ( $digits ) {
         case "10":
            $output = "ده";
            break;
         case "11":
            $output = "یازده";
            break;
         case "12":
            $output = "دوازده";
            break;
         case "13":
            $output = "سیزده";
            break;
         case "14":
            $output = "چهارده";
            break;
         case "15":
            $output = "پانزده";
            break;
         case "16":
            $output = "شانزده";
            break;
         case "17":
            $output = "هفده";
            break;
         case "18":
            $output = "هجده";
            break;
         case "19":
            $output = "نوزده";
            break;
         default:
            $output = "";
            break;
      }
      return $output;
   }
   function get_output()
   {
      return $this->output;
   }
}

$ob = new number_to_text( "2456321" );
echo $ob->get_output(); //out = دو میلیون و چهارصد و پنجاه و شش هزار و سیصد و بیست و یک

منبع: http://www.phpclasses.org/browse/file/22798.html نوشته شده توسط فواد امیری

برچسبها

هیچ برچسبی موجود نیست.

فایلهای پیوست شده

  • دانلود  ۱.۳ کیلو بایت (number_to_text.class.rar) - کلاس تبدیل عدد به رشته مثال: 123=> یک صد و بیست و سه
  • صفحات پیشنهادی


    تبدیل متن طولانی فارسی به تصویر با رعایت چهارچوب و اعمال فونت دلخواه در php...

    در یکی از پروژه ها نیاز داشتیم تا متن فارسی به عکس تبدیل شود. متاسفانه منابع کمی در این مورد هستند و اینکه اکثر این منابع توانایی تبدیل یک متن طولانی به عکس آن هم در یک چهار چوب را ندارند. و مثال های ...

    کلاس رمزنگاری و رمزگشایی Crypter...

    با استفاده از کلاس Crypter براحتی رشته های متنی را بر پایه الگوریتم Base64 رمزگذاری کرده و سپس در مواقع لزوم رمزگشایی کنید......

    کلاس PHP User Agent...

    همانطور که از نام کلاس پیداست جهت دریافت اطلاعات کاربر وارد شده به سایت این کلاس بکار می آید و اطلاعاتی نظیر مرورگر ، سیستم عامل ، آی پی ، و ... را قادر به بررسی است......

    ذخیره کردن متغیرهای کلاس به فرمت متن(گسترش توابع unserialize و serialize)...

    کلاس پایه ای که قصد معرفی داریم بر پایه دو تابع unserialize و serialize توسعه یافته شده است. همانطور که می دانید وظایف این توابع تبدیل متغیرها به فرمت متن جهت ذخیره سازی آنها است تا بتوان در زمان مناس...

    نظر

    نظری ثبت نشده است.
    captcha image reload