У меня есть одно приложение для Android, в котором я использую PHP API для получения данных с сервера. Это приложение для цитат, в котором у меня есть функция подсчета лайков и долей цитат. Я конвертирую это количество в k-стиле, например, 1K на 1000 и т. Д. С функцией ниже.
function Get_convert_to($value)
{
if ($value > 999 && $value <= 999999) {
$result = floor($value / 1000) . ' K';
} elseif ($value > 999999) {
$result = floor($value / 1000000) . ' M';
} else {
$result = $value;
}
return $result;
}
Теперь моя проблема в том, чтобы вернуть 1K даже для 1400 … Я хочу 1,4K для 1400. Как я могу это сделать?
Спасибо
Чтобы получить значение типа 1.4 (один десятичный знак), используйте параметр для управления десятичным числом
<?php
function Get_convert_to($value){if ($value > 1000) {
$result = round(($value / 1000),1) . ' K';
} elseif ($value > 999999) {
$result = round(($value / 1000000),1) . ' M';
} else {
$result = $value;
}return $result;
}
echo Get_convert_to(1400);
?>
Выход:
1.4K
Вам просто нужно удалить floor
потому что это даст вам ближайшее нижнее значение после деления. EC 1.4 / 1.2 станет 1
function Get_convert_to($value){if ($value > 999 && $value <= 999999) {
$result = ($value / 1000) . ' K';
} elseif ($value > 999999) {
$result = ($value / 1000000) . ' M';
} else {
$result = $value;
}return $result;
}
Если вы хотите контролировать десятичное число, вы можете использовать числовой формат при делении
$result = number_format($value / 1000, 1, '.', '') . ' K'; ;