bcmath — почему php bccomp равен?

PHP версия 5.4.33
php.ini: bcmath.scale = 0 (также пробовал bcmath.scale = PHP_INI_ALL)

проблема:

php5433 -r «echo bccomp (0.00000001, 0, 9);» print 0

php5433 -r «echo bccomp (1.00000001, 1, 9);» print 1

Зачем? Кто-нибудь может помочь?

-1

Решение

это потому что bccomp первые 2 аргумента должны быть строками. как вы видете Вот когда они являются строками, это работает как ожидалось. почему это? я не уверен, но это, вероятно, имеет отношение к тому, почему echo 0.00000001; выходы 1.0E-8 ( Научная нотация) в то время как echo 1.00000001; выходы 1.00000001 (пример)

bcmath.scale = 0 устанавливает масштаб по умолчанию, только если он не указан, как bcscale

Устанавливает параметр масштаба по умолчанию для всех последующих вызовов математических функций bc, которые явно не задают параметр масштаба.

0

Другие решения

Других решений пока нет …