在PHP中为浮点数设置精度
我从数据库中得到一个数字,这个数字可能是float
或int
。
我需要将数字的小数精度设置为3
,这会使数字不超过(关于小数)5.020
或1518845.756
。
使用PHP
round($number, $precision)
我看到一个问题:
四舍五入数字。我需要一个仅将小数点缩短而不改变其值的函数,而这些值round( )
似乎不遵循。
回答:
您可以number_format()
用来实现以下目的:
echo number_format((float) $number, $precision, '.', '');
这将转换1518845.756789
为1518845.757
。
但是,如果您只想将小数位数缩短到3,而 ,则可以执行以下操作:
$number = intval($number * ($p = pow(10, $precision))) / $p;
乍一看可能令人生畏,但是这个概念确实很简单。您有一个数字,将其乘以10
3(变为1518845756.789
),将其强制转换为整数,以便删除小数点后3位(变为1518845756
)后的所有内容,然后将结果除以10
3(变为1518845.756
)。
以上是 在PHP中为浮点数设置精度 的全部内容, 来源链接: utcz.com/qa/421994.html