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

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

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

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

$number = 2768888;
      $divisor = 1000000;

      $number = $number / $divisor;

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


Получаю 2,77. Как получить 2,76? Чтобы не округляло в большую сторону.
  • Вопрос задан
  • 104 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 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, то увидите, что Ваша функция не работает, как нужно.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽