Задать вопрос
@evomed

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

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

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

$number = 2768888;
      $divisor = 1000000;

      $number = $number / $divisor;

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


Получаю 2,77. Как получить 2,76? Чтобы не округляло в большую сторону.
  • Вопрос задан
  • 100 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 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, то увидите, что Ваша функция не работает, как нужно.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы