2012-01-30 33 views
0

我正在尝试开发一个php代码,以与谷歌计算器返回结果相同的确切方式匹配小数,例如使用的数学是3.14159265(pi)*三位数字,例如在php pi * 123返回386.41589595,但Google返回386.415896。我已经尝试了小区,轮子和其他功能,但无济于事。我需要确切的方法Google数学用来四舍五入/减少它的数字pi *数字如何在PHP中对小数点进行圆整以匹配Google的结果

这是因为一个应用程序将用于返回准确的结果使用pi *数字结果模拟谷歌计算器的时尚,任何帮助将不胜感激。下面是一些其他的例子,我试图弄清楚数学是用来回合的,但迄今我一直不幸。我需要挖掘谷歌不足,我需要开发一个原生的php方法来获得这个确切的结果,其中“205”通常是一个随机数三位数字,只是在这种情况下使用作为例子)

在php 205 * pi = 644.02649325,我需要的时间后的数字完全匹配谷歌的计算器返回的结果。

我怎么能去实现这个?基本上我需要谷歌将返回pi * digit(三位数字)的精确结果,而不必依靠Google(刮取结果)。在php中必须有一些方法来做到这一点,但我的实验到目前为止还没有成果。我不是最好的数学学生。理查德,我希望得到一些帮助。谢谢。

+2

发送服务器回到学校,做一些更多的数学; ) – djot 2012-01-30 06:12:07

回答

2
round(pi() * 123,6) gives 386.415896 
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 
?> 
0

检查精度/近似设置。这应该为你

echo round(205*M_PI,6); 
0

使用工作这个

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

bcmul功能将采取第三个参数的精密

refer this

相关问题