Обучение/Помощь новичкам | Функция округления числа
На одном сайте я достал функцию округления чисел, полезная функция и позволяет эконить место там где нужно.
Эта функция вроде как работает, но в ней один косяк, она округляет нули по какой-то причине.
Например у игрока на счету 10000 монет, должна показыват 10к а показывае 0.0к.
Кто-то может помочь режить эту проблему, я таких кодах пока не шарю, то что не знаю по какому принципу она округляет и почему из таблици не читает данные.
Или дайте другу функцию округления чисел.
За ранее спасибо.
Вы извините что вас достаю темами, просто я заинтерован в измение игры не менше, я со многим справляюсь сам, но есть те вещи с которыми я сам справиться не могу, так как не шарю в них, думаю вы понимаете что без некоторых даных игра будет крявой или не законченой.
Эта функция вроде как работает, но в ней один косяк, она округляет нули по какой-то причине.
Например у игрока на счету 10000 монет, должна показыват 10к а показывае 0.0к.
Кто-то может помочь режить эту проблему, я таких кодах пока не шарю, то что не знаю по какому принципу она округляет и почему из таблици не читает данные.
Или дайте другу функцию округления чисел.
За ранее спасибо.
Вы извините что вас достаю темами, просто я заинтерован в измение игры не менше, я со многим справляюсь сам, но есть те вещи с которыми я сам справиться не могу, так как не шарю в них, думаю вы понимаете что без некоторых даных игра будет крявой или не законченой.
Кинь функцию в лс розберемся
ceil() округляет в большую сторону
round() просто округляет
floor() в меньшую
Не благодари)
round() просто округляет
floor() в меньшую
Не благодари)
ceil() округляет в большую сторону
round() просто округляет
floor() в меньшую
Не благодари)
Я в инете читал про эти функции, они округляют двойное значение и не выводят определение, роунд вобще используется для генерацию случайных чисел.

И что такое "определение"?)
________
посл. ред. 19.10.2023 в 05:41; всего 1 раз(а); by Something
Я не знаю.
На одном сайте я достал функцию округления чисел, полезная функция и позволяет эконить место там где нужно.
Эта функция вроде как работает, но в ней один косяк, она округляет нули по какой-то причине.
Например у игрока на счету 10000 монет, должна показыват 10к а показывае 0.0к.
Кто-то может помочь режить эту проблему, я таких кодах пока не шарю, то что не знаю по какому принципу она округляет и почему из таблици не читает данные.
Или дайте другу функцию округления чисел.
За ранее спасибо.
Вы извините что вас достаю темами, просто я заинтерован в измение игры не менше, я со многим справляюсь сам, но есть те вещи с которыми я сам справиться не могу, так как не шарю в них, думаю вы понимаете что без некоторых даных игра будет крявой или не законченой.
php
function n_f($i, $tip = 0) {
if($tip == 1){
$i = number_format($i, 0, '', '\'');
}else{
if($i >= 10000 && $i < 1000000) {
$i = number_format($i, 0, '', '.');
$i = round($i,1).'k';
}
elseif($i >= 1000000 && $i < 1000000000) {
$i = number_format($i, 0, '', '.');
$i = round($i,1).'m';
}
elseif($i >= 1000000000 && $i < 1000000000000) {
$i = number_format($i, 0, '', '.');
$i = round($i,1).'b';
}
elseif($i >= 1000000000000 && $i < 1000000000000000) {
$i = number_format($i, 0, '', '.');
$i = round($i,1).'t';
}
elseif($i >= 1000000000000000 && $i < 1000000000000000000) {
$i = number_format($i, 0, '', '.');
$i = round($i,1).'q';
}
elseif($i >= 1000000000000000000 && $i < 1000000000000000000) {
$i = number_format($i, 0, '', '.');
$i = round($i,1).'u';
}
elseif($i >= 1000000000000000000000 && $i < 1000000000000000000000000) {
$i = number_format($i, 0, '', '.');
$i = round($i,1).'x';
}
}
return $i;
}Взял готовый код с любой онлайн игры
Нашёл в интернете
php
function intWithStyle($n)
{
if ($n < 1000) return $n;
$suffix = ['','k','M','G','T','P','E','Z','Y'];
$power = floor(log($n, 1000));
return round($n/(1000**$power),1,PHP_ROUND_HALF_EVEN).$suffix[$power];
};