• 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
جایگذاری جمله بجای صفر در php
#1
سلام.
دوستان من یک سایت دارم.
میخوام اعداد رو اینطوری نشون بده:
مثلا بجای:
1265854
اینطوری نشون بده:
1.265.854میلیون تومان
یا
126578526
1.265.785.256میلیارد تومان
تشکر شده توسط :
#2
سلام

توی از این کد میتونید استفاده کنید
کد پی‌اچ‌پی:
<?php
$price 
"1265785260";

echo 
number_format($price);
?>
تشکر شده توسط : Reza ayoubsys
#3
مطمئنی؟؟؟؟
آخه شما 3خط کد نوشتی نه فرمت تعیین کردی نه پارامتر تعیین کردی نه تابعی نوشتی!!!!
تشکر شده توسط :
#4
(۱۳۹۵ آبان ۰۷, ۱۲:۱۱ ق.ظ)samanfc20 نوشته: مطمئنی؟؟؟؟
آخه شما 3خط کد نوشتی نه فرمت تعیین کردی نه پارامتر تعیین کردی نه تابعی نوشتی!!!!

اکثر کارهایی که روتین هستند خود پی اچ پی تابع داره براش Smile
نیاز نیست همه چیزو پیاده کنیم
این تابع هم همینه Smile
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
تشکر شده توسط : samanfc20 ayoubsys
#5
خخخ
منظورم جداسازی نبود عزیزجان
منظورم این بود که اگه عدد (1000000) هستش تبدیل کنه به (1میلیون)
تشکر شده توسط :
#6
Confused
من بعد سوالاتت رو واضحتر بنویس
والا از اون سوال غیر از این نمیشد نتیجه گرفت
کلاهتو قاضی کن خودت

Undecided

کد پی‌اچ‌پی:
<?php
    
#    Output easy-to-read numbers
    #    by james at bandit.co.nz
    
function bd_nice_number($n) {
        
// first strip any formatting;
        
$n = (0+str_replace(",","",$n));
       
        
// is this a number?
        
if(!is_numeric($n)) return false;
       
        
// now filter it;
        
if($n>1000000000000) return round(($n/1000000000000),1).' trillion';
        else if(
$n>1000000000) return round(($n/1000000000),1).' billion';
        else if(
$n>1000000) return round(($n/1000000),1).' million';
        else if(
$n>1000) return round(($n/1000),1).' thousand';
       
        return 
number_format($n);
    }
?>

Outputs:

247,704,360 -> 247.7 million
866,965,260,000 -> 867 billion 
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
تشکر شده توسط : kasbookar samanfc20 ayoubsys
#7
تا حدودی درست نوشتی اما منظور من اینه:
ما فرضا یک سایت نیازمندی داریم.
توو این سایت شخصی آگهی ثبت میکنه که مبلغ اون ویله ای که میخواد بفروشه عدد 2/455/745تومنه.
این اعداد خیلی بزرگ دیده میشن
میخوام این شکلی بشه:
2میلیون و 455هزار و 750 تومان

میخوام همین اتفاق بصورت سشن برای تاریخ هم بیفته و بجای اینکه تاریخ ثبت آگهی رو نشون بده با هربار مراجعت یک تایم رو نشون بده مثل دیوار
بجای تاریخ و ساعت ثبت مینویسه:
همین الان
دو دقیقه پیش
دیروز
هفته پیش
و...
تشکر شده توسط :
#8
با سلام و عرض وقت بخیر.

آقا رضا پاسخ خوبی رو دادند. میشه از اون جهت مورد تاریخ نیز استفاده کرد.

بصورت تئوری :
زمان را بصورت time() در دیتابیس insert کنین ، سپس موقع لود صفحه آگهی ، time() حال را دریافت کرده و از زمان ثبت شده ارسال اگهی کم کنین.
سپس با دستورات شرطی if میتوانید مشخص نمایید چقدر از ارسال این اگهی گذشته است.

به عنوان مثال دو دقیقه میشود :
2*60 = 120
اگر نتیجه تفریق بالا ، کمتر از 120 باشد ، یعنی کمتر از دو دقیقه.

پنج دقیقه و ده دقیقه و سی دقیقه و ... رو نیز به همین صورت.

جهت دیروز و هفته پیش و ماه پیش نیز ، میتوانین تاریخ را در فیلدی insert کنین و این مقایسه و اعلام نتیجه را انجام دهید.

ارادتمند
تشکر شده توسط : samanfc20
#9
نقل قول:توو این سایت شخصی آگهی ثبت میکنه که مبلغ اون ویله ای که میخواد بفروشه عدد 2/455/745تومنه.
این اعداد خیلی بزرگ دیده میشن
میخوام این شکلی بشه:
2میلیون و 455هزار و 750 تومان
کد پی‌اچ‌پی:
<?php
function _nice_number($n
{
    if(
$n==0)
        return;
    
$n = (0+str_replace(",","",$n));
   
    
    if(!
is_numeric($n)) return false;
    
$out = array();
    
// now filter it;
    
if($n>1000000000000)
    {
        
$r = (int) floor(($n/1000000000000));
        
$out[] = $r.' تریلیون';
        
$out[] = _nice_number($n-$r*1000000000000); 
    }
    elseif(
$n>1000000000)
    {
        
$r =(int) floor(($n/1000000000));
        
$out[] = $r.' بیلیون';
        
$out[] = _nice_number($n-($r*1000000000)); 
    }
    elseif(
$n>1000000)
    {
        
$r =(int) floor(($n/1000000));
        
$out[] = $r.' میلیون';
        
$out[] = _nice_number($n-($r*1000000)); 
    }
    elseif(
$n>1000)
    {
        
$r =(int) floor(($n/1000));
        
$out[] = $r.' هزار';
        
$out[] = _nice_number($n-($r*1000)); 
    }
    
/*elseif($n>100)
    {
        $r = (int) floor(($n/100));
        $out[] = $r.' صد';
        $out[] = _nice_number($n-($r*100)); 
    }*/
    
else
    {
        return 
$n
    }
   
    return 
trim(trim(join(' و ',$out)),'و');
}


echo 
"<meta charset=utf-8><pre dir=rtl>";
echo  
_nice_number(2455750); //2 میلیون و 455 هزار و 750 
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
تشکر شده توسط : ayoubsys samanfc20 kasbookar


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان