6

如何在 PHP 中计算 pi 的值,最多 X 个十进制数。

4 个小数点

3.141

64 位小数

3.141592653589793238462643383279502884197169399375105820974944592

4

4 回答 4

4

找到了@Konamiman 发布的断开链接的来源。

将结果与:http ://www.angio.net/pi/digits/50.txt 进行比较,它们是相同的。

// Source: http://mgccl.com/2007/01/22/php-calculate-pi-revisited
function bcfact($n)
{
    return ($n == 0 || $n== 1) ? 1 : bcmul($n,bcfact($n-1));
}
function bcpi($precision)
{
    $num = 0;$k = 0;
    bcscale($precision+3);
    $limit = ($precision+3)/14;
    while($k < $limit)
    {
        $num = bcadd($num, bcdiv(bcmul(bcadd('13591409',bcmul('545140134', $k)),bcmul(bcpow(-1, $k), bcfact(6*$k))),bcmul(bcmul(bcpow('640320',3*$k+1),bcsqrt('640320')), bcmul(bcfact(3*$k), bcpow(bcfact($k),3)))));
        ++$k;
    }
    return bcdiv(1,(bcmul(12,($num))),$precision);
}

echo bcpi(1000);
于 2012-04-29T06:53:11.530 回答
0

用php计算PI?

当我们已经有了M_PI常数时,为什么还要计算呢?

M_PI包含值3.14159265358979323846

PI 的 10000 个小数位是一个相当大的数字。

见:http ://www.php.net/manual/en/math.constants.php

于 2009-11-24T07:55:20.913 回答
0

您可以通过 Chudnosky 系列计算 Pi。如果您的服务器具有非常高的 ram,您可以轻松地将 Pi 计算到小数位。如果您想将其精确到某个特定的小数位,那么请加大力度到一个非常大的数字并使用substr将其缩短到您所需的小数位。如果你觉得这个过程很慢,那么你可以通过谷歌搜索得到 pi 值。

于 2014-08-18T10:02:40.857 回答
-4

据我所知,PHP 不能保存这么长的数字,但 22/7 是一种古老的计算 PI 的方法,尽管它不会比 PHP 中包含的 PI 常数更好。也许您正试图输出一长串 PI 作为练习。

于 2011-05-20T14:44:05.620 回答