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()またはなどを使用できることを知っています。printf()ただし、私の問題は、そのような計算がアプリケーションで多すぎて、すべてのインスタンスを変更するのが非常に難しいことです。

だから誰かが私の状況で私を助けることができますか?グローバルな解決策はありますか?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 に答える