برای طرح سوال و دسترسی به آموزش ها  کانال ما در تلگرام بپویندید  

تبدیل عدد به حروف در php

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

مهمترین مزیتش هم سبک و کم حجم بودن اون هست که سرعت بالایی داره

 

function num2word($num)
{
    $num        = (string)$num;
    $one = array('','یک','دو','سه','چهار','پنج','شش','هفت','هشت','نه');
    $ten = array('','','بیست','سی','چهل','پنجاه','شصت','هفتاد','هشتاد','نود',);
    $hundred = array('','یکصد','دویست','سیصد','چهارصد','پانصد','ششصد','هفتصد','هشتصد','نهصد',);
    $categories = array('','هزار','میلیون','میلیارد','بیلیون','بیلیارد','تریلیون','تریلیارد','کوآدریلیون',);
    $exceptions = array('ده','یازده','دوازده','سیزده','چهارده','پانزده','شانزده','هفده','هجده','نوزده',);
    $out = '';
    $j   = 0;
    $cnt = strlen($num);
    if($cnt==1)
    return $one[$num];
    for($i=--$cnt;$i>=0;$i-=3){
        $add = '';
        $i1 = $num[$i];
        $i2 = isset($num[$i-1]) ? $num[$i-1] : '';
        $i3 = isset($num[$i-2]) ? $num[$i-2] : '';
        if(!empty($i3))
        $add .= $hundred[$i3].' و ';
        if($i2>1)
        $add .= $ten[$i2].' و '.$one[$i1].' ';
        elseif($i2==1)
        $add .= $exceptions[$i1].' ';
        else
        $add .= $one[$i1].' ';
        if($add!=' ')
        $add .= $categories[$j++].' و ';
        else
        $j++;
        $out = $add.$out;
    }
    return mb_substr($out,0,-4);
}

 


انتشار

در

توسط

برچسب‌ها:

نظرات

9 پاسخ به “تبدیل عدد به حروف در php”
  1. eh.rasta

    سلام با تشکر ولی ایراد داره ۹۹ رو نهصد و نود ونه میگه و ۹ رو نود و نه میگه

  2. حسن زاده

    ممنون

  3. armin

    تشکر بابت اشتراک گذاری کد
    خوب کار میکنه فقط باید یک دیباگ روی اعدادی که طولشون مضرب ۳ نیست بشه.

  4. ali

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

    1. ‌A1Gard

      اگر ایرادی پیدا میکنین بفرمایید تا اصلاح شود

  5. سلام. تابع ارور میده لطفا بررسی کنید.

    1. ‌A1Gard

      درست است بارها استفتاده بررسی شده

  6. مسعود مهدیان

    سلام
    لطفاً کدای باگ دار نزارید

    1. ‌A1Gard

      کد در زمان انتشار php 5.x بوده و باگی نداشته

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *