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

۶ سال پیش(به روز شده در ۳ سال پیش) پی اچ پی(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 User Agent...

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

    کلاس تجزیه گر فایل لاگ سرور آپاچی...

    کلاس زیر , فایل لاگ وب سرور آپاچی را تجزیه نموده و نتایج اطلاعات تجزیه شده هر بازدیدکننده را نمایش می دهد. این اطلاعات شامل آی پی , تاریخ ثبت , آدرس رفرنس یا مرجع , وضعیت و ... است. لاگ سرور آپاچی محل...

    پروتکل SOAP در php(نحوه ارسال و درخواست در این پروتکل)...

    "با استفاده از پروتکل دسترسی آسان به اشیاء یا سُوپ (Simple Object Access Protocol - SOAP) می‌توان به ارسال و تبادل پیامهایی از جنس اکس‌ام‌ال بر روی شبکه‌های رایانه‌ای مبادرت کرد". ما قصد توضیح در مورد...

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

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

    نظر

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