-1

PHP バージョン 5.4.33 php.ini: bcmath.scale = 0 (bcmath.scale = PHP_INI_ALL も試しました)

問題:

php5433 -r "エコー bccomp(0.00000001, 0, 9);" 印刷 0

php5433 -r "エコー bccomp(1.00000001, 1, 9);" 印刷 1

なぜ?誰でも助けることができますか?

4

1 に答える 1

0

これは、bccomp最初の 2 つの引数が文字列であることを意図しているためです。ここでわかるように、文字列の場合は期待どおりに機能します。どうしてこれなの?よくわかりませんが、おそらくecho 0.00000001;1.0E-8(科学表記法)をecho 1.00000001;出力し、1.00000001()を出力する理由に何か関係があります

bcmath.scale = 0次のように指定されていない場合にのみ、デフォルトのスケール値を設定しますbcscale

スケール パラメーターを明示的に指定しない bc 数学関数への後続のすべての呼び出しに対して、既定のスケール パラメーターを設定します。

于 2016-09-14T05:17:54.203 に答える