在PHP中为浮点数设置精度

我从数据库中得到一个数字,这个数字可能是floatint

我需要将数字的小数精度设置为3,这会使数字不超过(关于小数)5.0201518845.756

使用PHP

round($number, $precision)

我看到一个问题:

四舍五入数字。我需要一个仅将小数点缩短而不改变其值的函数,而这些值round( )似乎不遵循。

回答:

您可以number_format()用来实现以下目的:

echo number_format((float) $number, $precision, '.', '');

这将转换1518845.7567891518845.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

回到顶部