3

假设我有:

echo 1/3;

它只打印出 0.33333333333333,我可以得到更多的数字吗?

4

4 回答 4

6

可以使用bcdiv

echo bcdiv(1, 3, 20);

第三个论据

用于设置结果中小数点后的位数。您还可以使用 bcscale() 为所有函数设置全局默认比例。

于 2011-06-27T11:22:35.303 回答
3

在您或其他配置位置编辑precision配置变量,或使用.php.iniini_set()

ini_set('precision', 22);
echo 1/3;
// 0.3333333333333333148296

即使我非常怀疑您是否真的需要那种精度;-)

编辑

正如 Gordon 所说:您迟早会达到 PHP 中的浮点精度限制(取决于指定的精度)。因此,如果您追求真正的高精度数学,更好的方法是使用BCMath 任意精度数学扩展或GNU 多精度扩展。

于 2011-06-27T11:22:09.397 回答
2

您可能想查看 BC 任意精度 php 库 http://php.net/manual/en/book.bc.php

于 2011-06-27T11:19:45.183 回答
1

设置是precisionhttp ://es.php.net/manual/en/ini.core.php

但是,除了调试目的,我不会使用它。看看number_format()

于 2011-06-27T11:23:16.523 回答