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

۵ سال پیش(به روز شده در ۳ سال پیش) پی اچ پی(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=> یک صد و بیست و سه
  • صفحات پیشنهادی

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

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

    کلاس UUID برای PHP...

    UUID یا Universally Unique Identifier شناسه استاندارد استفاده شده در ساخت نرم افزار هاست که توسط Open Source Foundation استاندارد سازی شده است......

    کلاس MySQL برای PHP جهت اتصال به پایگاه داده...

    کلاس ساده زیر توسط ما طراحی شده که البته از PDO استفاده نشده است اما براحتی قابل ویرایش است. در ضمن کلاس زیر کاملا تست شده و آماده بکار است......


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

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

    نظر

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