加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

在PHP中设置浮点数的精度

发布时间:2020-12-13 18:25:25 所属栏目:PHP教程 来源:网络整理
导读:我从数据库中得到一个数字,这个数字可能是float或int. 我需要将数字的小数精度设置为3,这使得数字不超过(关于小数)5.020或1518845.756. 使用PHP round($number,$precision) 我看到一个问题: 它使数字四舍五入.我需要一个函数来只缩短小数,而不改变它们的值(
我从数据库中得到一个数字,这个数字可能是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;

起初它可能看起来令人生畏,但这个概念非常简单.你有一个数字,你乘以103(它变成1518845756.789),把它变成一个整数,所以删除3位小数后的所有东西(变成1518845756),然后将结果除以103(变成1518845.756).

Demo

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读