رفتن به مطلب

تبدیل اعداد هر هزارتا به 1k


estedadrap

پست های پیشنهاد شده

سلام خسته نباشید

من میخوام داخل سایتم که موزیک هست و تعداد بازدید بالاس و عدد طولانی میشه اعداد رو گرد کنم 

مثلا

1000 بشه 1k 

1459 بشه 1.5k 

خیلی هم گشتم اما چیزی پیدا نکردم

تو سایت های خارجی هم جست و جو کردم اما چیزی عایدم نشد

لینک به ارسال

سلام

کد زیر یه راه خیلی ساده برای اینکار هست  ،میتونید ازش استفاده کنید برای اینکه تابع کاملی بنویسید برای هدف مورد نظرتون

متغیر تعداد بازدید باید تقسیم بر 1000 بشه . در این مرحله تا 999 هزار بازدید رو جواب میده  ،برای میلیون بازدید هم باید یه شرط بگذارید و متغیر تعداد بازدید رو بر 1میلیون تقسیم کنید و همینطور برای بازدید های بیشتر از 999 میلیون ... الی آخر میتونید تابع و شروطش رو بنویسید

همینطور اگه عدد مثلا 3500 تا هست با این روش به عدد بزرگتر یعنی 4 تبدیل میشه 

<?php
$mim= 35000;
echo number_format($mim) ; 
echo '<br>' ; 
$sin= $mim / 1000;
 echo number_format($sin) . 'K' ; 
?>

خروجی دقیقا این میشه 

35,000
35K

 

ویرایش شده توسط soma
لینک به ارسال
در 4 ساعت قبل، estedadrap گفته است :

سلام خسته نباشید

من میخوام داخل سایتم که موزیک هست و تعداد بازدید بالاس و عدد طولانی میشه اعداد رو گرد کنم 

مثلا

1000 بشه 1k 

1459 بشه 1.5k 

خیلی هم گشتم اما چیزی پیدا نکردم

تو سایت های خارجی هم جست و جو کردم اما چیزی عایدم نشد

سلام

در ادامه راهنمایی دوست عزیز @soma

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

بفرمایید

کد فانکشن

function number_format_short( $number, $precision = 1 ) {
	if ($number < 900) {
		$n_format = number_format($number, $precision);
		$suffix = '';
	} else if ($number < 900000) {
		$n_format = number_format($number / 1000, $precision);
		$suffix = 'K';
	} else if ($number < 900000000) {
		$n_format = number_format($number / 1000000, $precision);
		$suffix = 'M';
	} else if ($number < 900000000000) {
		$n_format = number_format($number / 1000000000, $precision);
		$suffix = 'B';
	} else {
		$n_format = number_format($number / 1000000000000, $precision);
		$suffix = 'T';
	}


	if ( $precision > 0 ) {
		$dotzero = '.' . str_repeat( '0', $precision );
		$n_format = str_replace( $dotzero, '', $n_format );
	}
	return $n_format . $suffix;
}

استفاده از فانکشن در سراسر وب و تبدیل مقدار دلخواه

echo number_format_short(1234); // 1234 = 1.2K

توجه داشته باشید تابع دو مقدار میگیره مقدار اول که همون عدد دلخواه هست و مقدار دوم در صورتی که برابر با 0 باشه اعشار حذف میشه مثلا 1.2K میشه 1K ( پیشفرض برابر با 1 شده که اعشار رو حذف نکنه )

لینک به ارسال
در 10 ساعت قبل، cherry گفته است :

سلام

در ادامه راهنمایی دوست عزیز @soma

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

بفرمایید

کد فانکشن


function number_format_short( $number, $precision = 1 ) {
	if ($number < 900) {
		$n_format = number_format($number, $precision);
		$suffix = '';
	} else if ($number < 900000) {
		$n_format = number_format($number / 1000, $precision);
		$suffix = 'K';
	} else if ($number < 900000000) {
		$n_format = number_format($number / 1000000, $precision);
		$suffix = 'M';
	} else if ($number < 900000000000) {
		$n_format = number_format($number / 1000000000, $precision);
		$suffix = 'B';
	} else {
		$n_format = number_format($number / 1000000000000, $precision);
		$suffix = 'T';
	}


	if ( $precision > 0 ) {
		$dotzero = '.' . str_repeat( '0', $precision );
		$n_format = str_replace( $dotzero, '', $n_format );
	}
	return $n_format . $suffix;
}

استفاده از فانکشن در سراسر وب و تبدیل مقدار دلخواه


echo number_format_short(1234); // 1234 = 1.2K

توجه داشته باشید تابع دو مقدار میگیره مقدار اول که همون عدد دلخواه هست و مقدار دوم در صورتی که برابر با 0 باشه اعشار حذف میشه مثلا 1.2K میشه 1K ( پیشفرض برابر با 1 شده که اعشار رو حذف نکنه )

تشکر بابت جواب های دقیقتون

اما یه مشکلی که هست من دقیقا همین کارها رو انجام میدم 

اما کار نمیکنه در واقعه فکر میکنم متغییر اعداد داخل قالب من با اسم دیگه ای تعریف شده

اگر به این صورت باشه بازم این کد کار میکنه؟ یا اینکه طرز استفاده رو من اشتباه انجام میدم

echo '<i class="fa fa-eye mi"></i>' . number_format_i18n( (int) get_post_meta( $post->ID, 'cd_views', true ) ) . 'Video View<br /><br />';

ویرایش شده توسط estedadrap
لینک به ارسال
در 2 ساعت قبل، estedadrap گفته است :

تشکر بابت جواب های دقیقتون

اما یه مشکلی که هست من دقیقا همین کارها رو انجام میدم 

اما کار نمیکنه در واقعه فکر میکنم متغییر اعداد داخل قالب من با اسم دیگه ای تعریف شده

اگر به این صورت باشه بازم این کد کار میکنه؟ یا اینکه طرز استفاده رو من اشتباه انجام میدم

echo '<i class="fa fa-eye mi"></i>' . number_format_i18n( (int) get_post_meta( $post->ID, 'cd_views', true ) ) . 'Video View<br /><br />';

خواهش میکنم

کد شما به اینصورت میشه

echo '<i class="fa fa-eye mi"></i>' . number_format_short( get_post_meta( $post->ID, 'cd_views', true ) ) . 'Video View<br /><br />';

 

ویرایش شده توسط cherry
لینک به ارسال
در 2 ساعت قبل، cherry گفته است :

خواهش میکنم

کد شما به اینصورت میشه


echo '<i class="fa fa-eye mi"></i>' . number_format_short( get_post_meta( $post->ID, 'cd_views', true ) ) . 'Video View<br /><br />';

اقا یه دنیا تشکر کارمو راه انداختی

فقط یه سوال دیگه 

این کد رو میخوام بصورت php چاپ کنم 

<img class="cd_instagramimge" src="<?php echo esc_url( get_post_meta( get_the_ID(), 'thumb', true ) ); ?>" />

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

<?php 
                /* Videos */
                if ( $cpt === 'videos' && isset( $meta['video_type'] ) ) {
                    $vid_type = $meta['video_type'];
                    if ( $vid_type === 'youtube' && isset( $meta['youtube'] ) ) {
                        echo '<' . 'iframe' . ' class="cd_iframe" width="640" height="400" src="//youtube.com/embed/' . $meta['youtube'] . '" allowfullscreen></' . 'iframe' . '>';
                    } else if ( $vid_type === 'vimeo' && isset( $meta['vimeo'] ) ) {
                        echo '<' . 'iframe' . ' class="cd_iframe" width="640" height="400" src="//player.vimeo.com/video/' . $meta['vimeo'] . '" allowfullscreen></' . 'iframe' . '>';
                    } else if ( $vid_type === 'mp4' && isset( $meta['mp4'] ) ) {
                        echo do_shortcode( '[video width="640" height="400" mp4="' . $meta['mp4'] . '"][/video]' );
                    } else if ( $vid_type === 'instagram' && isset( $meta['instagram'] ) ) {
                        echo '<' . 'iframe' . ' class="cd_instagram" width="640" height="400" src="//instagram.fevn1-1.fna.fbcdn.net/' . $meta['instagram'] . '" allowfullscreen></' . 'iframe' . '>';
                    }
                    else {
                        echo $meta['embed'];
                    }
                    echo !empty( $meta['artist'] ) ? '<i class="fa fa-user mi"></i>' . $codevz->get_artists( $meta['artist'] ) . '&nbsp;&nbsp;&nbsp;&nbsp;' : '';
                    echo '<i class="fa fa-eye mi"></i>' . number_format_short( get_post_meta( $post->ID, 'cd_views', true ) ) . 'Video View<br /><br />';
                        
                }
            ?> 

 

لینک به ارسال

@estedadrap

بفرمایید

echo '<img class="cd_instagramimge" src="' . esc_url( get_post_meta( get_the_ID(), 'thumb', true ) ) . '" />';

خواهش میکنم

موفق باشید

ویرایش شده توسط cherry
لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...