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

تبدیل عدد به حروف در 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);
}

 

دسته: PHP

7 دیدگاه در “تبدیل عدد به حروف در php

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

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

نشانی ایمیل شما منتشر نخواهد شد.

متنی که میخواهید برای جستجو وارد کرده و دکمه جستجو را فشار دهید. برای لغو دکمه ESC را فشار دهید.

بازگشت به بالا