2

可能重复:
在 PHP 中显示更多数字

让我提供一些有关我的问题的背景信息。我们有一个旧的遗留应用程序正在迁移到不同的服务器。在新服务器中,我们发现长浮点数正在以科学计数法打印 - 这在我们之前的服务器中不是这种情况。

例如:

$num1 = 60000000000.0;
$num2 = 2000000000.0;
$sum  = $num1 + $num2;
echo $sum; //prints 6.2E+10 in new server but 62000000000 in old one..

现在,我知道我们可以使用number_format()or printf()etc 来解决这个问题。但是我的问题是应用程序中这样的计算太多了,并且很难更改所有实例。

那么任何人都可以帮助我解决我的情况吗?有没有全球解决方案?可以在 php.ini 或其他东西中配置的东西?谁能给我任何指示,为什么这在旧服务器上可以正常工作,但在新服务器上却不行?哪些服务器设置可能导致此问题?

很感谢任何形式的帮助!

4

1 回答 1

5

这取决于precisionini 设置:

http://php.net/manual/en/ini.core.php#ini.precision

将不同的结果,被封顶。您的数据作为一些随机系统和精度设置的示例(在该系统上默认为 14):

 0: 6.0E+10     7: 6.2E+10        14: 62000000000
 1: 6.0E+10     8: 6.2E+10        15: 6.2E+10    
 2: 6.2E+10     9: 6.2E+10        16: 6.2E+10    
 3: 6.2E+10    10: 6.2E+10        17: 6.2E+10    
 4: 6.2E+10    11: 62000000000    18: 6.2E+10    
 5: 6.2E+10    12: 62000000000    19: 6.2E+10    
 6: 6.2E+10    13: 62000000000    20: 6.2E+10    
于 2012-10-26T15:34:43.490 回答