Как изменить количество цифр после запятой в PHP. Как увеличить точность вычислений в PHP

По умолчанию в вычислениях в PHP скриптах в цифрах с плавающей запятой (проще говоря — в любых нецелых числах) показывается ровно 14 цифр. Причём независимо от того, сколько цифр идёт до точки — в полученном числе будет ровно 14 цифр. То есть если это большое число, то его точность (количество знаков после запятой) снижается. Поясню на примере. Следующий код:

<?php

echo '60/7 = ' . 60/7;

выведет:

60/7 = 8.5714285714286

А следующий код:

echo '6000000/7 = ' . 6000000/7;

выведет:

6000000/7 = 857142.85714286

Можете посчитать — в обоих числах по 14 цифр.

Точность цифр с плавающей точкой настраивается директивой precision в файле php.ini. Она определяет количество значащих цифр, отображаемых для чисел с плавающей точкой. Как можно догадаться, её значение установлено на 14. Чтобы изменения вступили в силу, не забывайте перезапускать веб-сервер.

Вполне возможно, что вам нужно увеличить точность вычислений, для этого увеличьте значение precision.

К примеру, при настройке:

precision = 14

код

echo '60/7 = ' . 60/7;

выведет:

60/7 = 8.5714285714286

А при настройке:

precision = 24

тот же самый код выведет:

60/7 = 8.57142857142857117480617

Здесь всё довольно просто, но есть ещё один вариант: -1 означает, что будет использован усовершенствованный алгоритм для округления таких чисел.

Проверим, при настройке:

precision = -1

приведённый выше код выведет:

60/7 = 8.571428571428571

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *