У меня есть небольшой код, который выполняет определенный расчет, и, как вы знаете, если печатаются десятичные знаки, PHP
многие выходят, я хочу ограничить это число до 5 знаков после запятой.
Попробуйте использовать, round
и хотя при этом вы можете указать максимальное количество знаков после запятой, оно также их округляет, а нет, мне нужно только количество знаков после запятой без округления результата.
Например:
Результат выдает:
4.6472883
И что мне нужно:
4.64728 (5 decimales)
Что он round
делает:
4.64729
Это небольшая часть, которая выполняет вычисления на случай, если это будет вам полезно.
//$l_value: es un valor que ingresa el usuario
//$l_mam y $l_ang: son valores ya definido
$to_m = $l_value*$l_mam;
$l_r = $to_m/$l_ang;
echo"<div class='in_val_res' > ".round($l_r,5)." unidades</div>";
Вы можете использовать нативную функцию
bcdiv
.bcdiv делит два числа произвольной точности с добавлением, позволяющим обрезать результат до заданного масштаба без округления.
Если деление выполняется
1
тогда, результатом всегда будет число, но вы используете шкалу, чтобы обрезать по своему вкусу.Пример
Результат
Умножьте его и разделите на столько знаков после запятой, сколько хотите. (1->10 | 2->100 | ...)
Хотя мы используем пол (для округления), благодаря умножению и делению вы получите желаемый результат.
Не знаю, будет ли какая-то конкретная функция, думаю, есть... но можно "сделать" "ручное" усечение. Умножьте число, чтобы сдвинуть «запятую» вправо (например, на 100000), возьмите целую часть этого результата и снова разделите это число на 100000... Не знаю, мне приходит в голову... Это как работает идея...
Как они комментируют в другом ответе, проще всего было бы сделать усечение, в моем случае я бы сделал это следующим образом, с функцией intval() и pow (или двойной звездочкой **):