Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.
Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin. Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

Sonlarni yuqoriga yaxlitlash

+4 ovoz
725 marta ko‘rilgan
so‘radi 14 dekabr, 16 Saidolim (3,566 bal)
tahrirlandi 15 dekabr, 16 oakrom
Menga sahifa sonini ko`rsatish uchun, haqiqiy sonni yaxlitlash kerak. Shuni bitta buyruq bilan qilsa bo`ladimi?

Masalan:

100 ta yozuv, 25 tadan => 100/25 = 4 sahifa

120 ta yozuv, 25 tadan => 120/25 = 4.8 ~ 5 sahifa

bo`lishi uchun

2 Javoblar

+2 ovoz
javob berdi 18 dekabr, 16 Saidolim (3,566 bal)
tahrirlandi 18 dekabr, 16 Saidolim
 
Eng yaxshi javob

Masalani ceil() bilan hal qildik.

Bitta sahifata 1 ta bo`lsa ham ma'lumot bo`lsa, sahifa soni 1 ta ortishi kerak edi. shu sababli masalani ceil() yordamida hal qildik:

<?php
$sahifalarSoni = ceil($javoblarSoni/$sahifadagiJavoblarSoni); 

// ceil(1001/100) = 11
 

+2 ovoz
javob berdi 15 dekabr, 16 oakrom (389 bal)

Round funksiyasidan foydalaning, bu funksiya float turiga tegishli qiymatlarni yaxlitlaydi:

(PHP 4, PHP 5, PHP 7)

Sintaksisi: 

float round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] )

Parametrlari:

val yaxlitlash kerak bo'lgan son

precision verguldan keyingi yaxlitlanishi kerak bo'lgan xonalar miqdori

mode  konstantalarda belgilangan yaxlitlash turlari

  • PHP_ROUND_HALF_UP
  • PHP_ROUND_HALF_DOWN
  • PHP_ROUND_HALF_EVEN
  • PHP_ROUND_HALF_ODD
1.Misol
<?php
echo round(3.4);         // 3
echo round(3.5);         // 4
echo round(3.6);         // 4
echo round(3.6, 0);      // 4
echo round(1.95583, 2);  // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2);    // 5.05
echo round(5.055, 2);    // 5.06
?>

2.Misol (mode parametri bilan ishlatish)

<?php
echo round(9.5, 0, PHP_ROUND_HALF_UP);   // 10
echo round(9.5, 0, PHP_ROUND_HALF_DOWN); // 9
echo round(9.5, 0, PHP_ROUND_HALF_EVEN); // 10
echo round(9.5, 0, PHP_ROUND_HALF_ODD);  // 9

echo round(8.5, 0, PHP_ROUND_HALF_UP);   // 9
echo round(8.5, 0, PHP_ROUND_HALF_DOWN); // 8
echo round(8.5, 0, PHP_ROUND_HALF_EVEN); // 8
echo round(8.5, 0, PHP_ROUND_HALF_ODD);  // 9
?>

3.Misol

<?php
/* PHP_ROUND_HALF_UP dan foydalanish, verguldan keyin 1 xona aniqligida */
echo round( 1.55, 1, PHP_ROUND_HALF_UP);   //  1.6
echo round( 1.54, 1, PHP_ROUND_HALF_UP);   //  1.5
echo round(-1.55, 1, PHP_ROUND_HALF_UP);   // -1.6
echo round(-1.54, 1, PHP_ROUND_HALF_UP);   // -1.5

/* PHP_ROUND_HALF_DOWN dan foydalanish, verguldan keyin 1 xona aniqligida */
echo round( 1.55, 1, PHP_ROUND_HALF_DOWN); //  1.5
echo round( 1.54, 1, PHP_ROUND_HALF_DOWN); //  1.5
echo round(-1.55, 1, PHP_ROUND_HALF_DOWN); // -1.5
echo round(-1.54, 1, PHP_ROUND_HALF_DOWN); // -1.5

/* PHP_ROUND_HALF_EVEN dan foydalanish, verguldan keyin 1 xona aniqligida */
echo round( 1.55, 1, PHP_ROUND_HALF_EVEN); //  1.6
echo round( 1.54, 1, PHP_ROUND_HALF_EVEN); //  1.5
echo round(-1.55, 1, PHP_ROUND_HALF_EVEN); // -1.6
echo round(-1.54, 1, PHP_ROUND_HALF_EVEN); // -1.5

/* PHP_ROUND_HALF_ODD dan foydalanish, verguldan keyin 1 xona aniqligida */
echo round( 1.55, 1, PHP_ROUND_HALF_ODD);  //  1.5
echo round( 1.54, 1, PHP_ROUND_HALF_ODD);  //  1.5
echo round(-1.55, 1, PHP_ROUND_HALF_ODD);  // -1.5
echo round(-1.54, 1, PHP_ROUND_HALF_ODD);  // -1.5
?>
Roundan tashqari quyidagi funksiyalardan ham foydalansangiz bo'ladi
  • ceil() - verguldan keyin katta tomonga yaxlitlaydi 
  • floor() - verguldan keyin kichik tomonga yaxlitlaydi

izoh qoldirdi 15 dekabr, 16 Saidolim (3,566 bal)
Round to`g`ri kelmaydi. chunki 4.1 bo`lsa ham 5 chiqishi kerak. javobingizdagi ceil ni yozib bering, manimcha to`g`ri bo`ladi. round va floor bu savol javobi emas.
izoh qoldirdi 15 dekabr, 16 oakrom (389 bal)
Savolda siz aytgan xolat xaqida xech qanday ma'lumot yo'q, shunga Roundni taklif qilgan edim, unda savolni tahrirlab shu narsani ko'rsatish kere manimcha.
izoh qoldirdi 16 dekabr, 16 Saidolim (3,566 bal)
Savolda "sahifa soni" haqida gap ketmoqda. Agar 1001 ta ma'lumot bo`lib, har hir sahifada 100 tadan chiqarilsa, necha sahifa bo`ladi? Round(1001/100) menga 10 qaytarmoqda.
izoh qoldirdi 18 dekabr, 16 Unknown (802 bal)
Assalomu Alaykum. Javobiz zo'r chiqqan, faqat buni boshqa savolga qo'yaylik. Bu javobga kimdir upvote qo'yibdi. Lekin bu savolga javobmas
izoh qoldirdi 26 dekabr, 16 oakrom (389 bal)
bemalol, qarshiligim yo'q :-)

Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.

Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin.

Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

Telegram kanal YordamUzRss

...