@evomed

Как сократить число с округлением в меньшую сторону?

Задача миллионы сократить в букву M с округлением в меньшую сторону. Пример 2,76M

Нагуглил решение:

$number = 2768888;
      $divisor = 1000000;

      $number = $number / $divisor;

      return number_format($number, 2, $separator). $shorthand;


Получаю 2,77. Как получить 2,76? Чтобы не округляло в большую сторону.
  • Вопрос задан
  • 99 просмотров
Решения вопроса 1
@evomed Автор вопроса
Нагуглил функцию

public static function numberFormat($number, $decimals = 0, $decPoint = '.' , $thousandsSep = ','): string
    {
        $negation = ($number < 0) ? (-1) : 1;
        $coefficient = 10 ** $decimals;
        $number = $negation * floor((string)(abs($number) * $coefficient)) / $coefficient;
        return number_format($number, $decimals, $decPoint, $thousandsSep);
    }
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Арамаис Мирзоян , у Вас пример неудачный. Если Возьмёте число топикстартера или 10559555, то увидите, что Ваша функция не работает, как нужно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы