0

我正在尝试开发一个 php 代码以与 Google 计算器返回结果的完全相同的方式匹配小数,所使用的数学是 3.14159265 (pi) * 三位数,例如在 php pi * 123 返回386.41589595,但是 Google 返回386.415896。试了ceil、round等功能都无济于事。我需要谷歌数学用来四舍五入/减少 pi * 数字的确切方法

这是因为将用于仅使用 pi * 数字结果返回准确结果的应用程序以 Google 计算器的方式建模,任何帮助将不胜感激。这里有一些其他的例子,我试图弄清楚用什么数学来四舍五入,但到目前为止我一直很不幸。

pi * 205 = 644.026494(谷歌结果,我想要/需要,抓取谷歌是不够的,我需要开发一个本地 php 方法来获得这个确切的结果,其中“205”通常是一个随机数三位数,在这种情况下仅用作示例)

在 php 205*pi = 644.02649325 中,我需要句点后的数字与 Google 计算器返回的结果完全匹配。

我该如何实施呢?基本上我需要谷歌为 pi * digit(三位数字)返回的确切结果,而不必依赖谷歌(抓取结果)。在php中必须有一些方法可以做到这一点,但到目前为止我的实验没有结果。我不是最好的数学学生。我会很感激一些帮助,理查德。谢谢你。

4

4 回答 4

2
round(pi() * 123,6) gives 386.415896
于 2012-01-30T06:09:05.820 回答
0

检查您的精度/近似设置。这应该适合你

echo round(205*M_PI,6); 
于 2012-01-30T06:15:12.937 回答
0

用这个

echo bcmul('3.14159265', '123', 8),"\n";

bcmul函数将第三个参数作为精度

参考这个

于 2012-01-30T06:16:06.517 回答
0
<?php
$test =pi() * 123;
echo $test.'<br />';
$test1 = round($test, 6, PHP_ROUND_HALF_UP);
$test2 = round($test, 6, PHP_ROUND_HALF_DOWN);
echo $test1.'<br />';
echo $test2.'<br />';

386.41589639154 < Can't really become 5 at the end
386.415896
386.415896
?>
于 2012-01-30T06:10:29.500 回答