我有一个小代码可以进行一定的计算,如您所知,如果打印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 | ...)
尽管我们使用 floor(用于舍入),但由于乘法和除法,您可以获得所需的结果。
我不知道是否会有特定的功能,我猜有......但你可以“制作”一个“手工制作”的截断。将数字乘以将“逗号”向右移动(例如,乘以 100000)并取该结果的整数部分,然后将该数字再次除以 100000……我不知道,它发生在我身上……那是这个想法是如何运作的......
正如他们在另一个答案中评论的那样,最简单的事情是进行截断,在我的情况下,我将使用函数 intval() 和 pow (或双星号 ** )以下列方式进行截断: