#php
Допустим имею данное число: 3985.
Как мне её превратить в данную строку: 3,9К ?
Ответы
Ответ 1
Ещё вариант в коллекцию: function formatNumber(int $int): String { $k = (int) log($int, 1000); $float = round($int / pow(1000, $k), 1); $letters = ['К', 'М', 'Млрд']; return $float . ($letters[--$k] ?? ''); } Примеры использования: echo formatNumber(7); // 7 echo formatNumber(78); // 78 echo formatNumber(789); // 789 echo formatNumber(7899); // 7.9К echo formatNumber(78991); // 79К echo formatNumber(789919); // 789.9К echo formatNumber(7899191); // 7.9М echo formatNumber(78991911); // 79М echo formatNumber(789919119); // 789.9М echo formatNumber(7899191191); // 7.9Млрд echo formatNumber(78991911910); // 79МлрдОтвет 2
Решение: function views($value) { if ($value >= 1000) return round($value / 1000, 1).'K'; else return $value; }
Комментариев нет:
Отправить комментарий