PHP-функция number_format, кажется, не является надежной для больших чисел. Это, вероятно, проблема округления, как объяснено на PHP — проблемы с числовым форматом
Функция money_format () ведет себя аналогично.
В этом случае:
$ n = 1000000000000000001;
echo «\ nn = $ n»;
$ nFormat = number_format ($ n, 0, ‘.’, ‘,’);
echo «\ nnFormat = $ nFormat»;
$ nMFormat = money_format (‘%! i’, $ n);
echo «\ nnMFormat = $ nMFormat»;
Результаты:
n = 1000000000000000001
nFormat = 1 000 000 000 000 000 000
nMFormat = 1000000000000000000.00
Есть ли в PHP функция number_format для больших чисел? Должен ли я кодировать себя? Должен ли я иметь дело с большими числами в качестве строк для форматирования?
Задача ещё не решена.
Других решений пока нет …