Различия в расчетах PHP и Excel - PullRequest
3 голосов
/ 04 августа 2011

У меня проблема в том, что при выполнении одинаковых вычислений в PHP и в Excel я получаю разные ответы, например:

PHP

bcdiv(135.248162939981, 135.582429275152, 15)

равно 0.997534589571912

при выполнении 135.248162939981 / 135.582429275152 в Excel равно 0,997534589570654

Как решить такие проблемы и иметь различия в расчетах?

1 Ответ

5 голосов
/ 04 августа 2011

bcdiv выполняет вычисление с точностью произвольной . Во многом в отличие от Excel, который выполняет обычное деление с плавающей запятой.

Чтобы получить похожий результат в PHP, просто сделайте это одинаково:

 $r = 135.248162939981 / 135.582429275152;

Как говорится, результаты никогда не будут идентичными . Вычисления с плавающей запятой не связаны с природой, чему способствуют различия в отображении языков программирования и приложений. http://en.wikipedia.org/wiki/Precision_(computer_science)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...