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

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

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

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

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

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

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

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

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

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

    نظر

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