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

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

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

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

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

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

    کلاس Browser.php , کلاسی قدرتمند در جهت شناسایی مرورگر کاربر...

    کلاس Browser توسط Chris Schuld نوشته شده و تقریبا تمامی مرورگرها را شناسایی می نماید. از خصوصیات بارز این کلاس امکان شناسایی پلتفورم یا سیستم عامل , ربات یا مرورگر بودن , نسخه مرورگر , تشخیص...

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

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

    نظر

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