Москва
Ереван
Москва

Почему в json_encode числовое значение с плавающей точкой меняется

Почему в json_encode числовое значение с плавающей точкой меняется
Заметка: при работе с ценами в формате json столкнулся с проблемой при плавающей точке в цене, где цена превращалась в 14 и более цифр, пример:

{"price":2849,"price_2":1199,"price_3":34.99000000000000198951966012828052043914794921875,"price_4":749,"price_5":169}
Правильное отображение, а также содержание массива изначально:

{"price":2849,"price_2":1199,"price_3":34.99,"price_4":749,"price_5":169}
Позже я выяснил, что это связано с настройкой serialize_precision в PHP. Решение проблемы с плавающей точкой заключается в добавлении директивы в php.ini:

serialize_precision = -1
Теперь json_encode работает правильно со значениями с плавающей точкой, не округляя дополнительно эти значения.

Возврат к списку

Нужна помощь?

Укажите контактные данные, опишите задачу и мы перезвоним или ответим на E-mail. Для более оперативного решения напишите на Whatsapp

Обязательное поле
Обязательное поле
Обязательное поле
Обязательное поле
Согласитесь с условиями
Спасибо
Ваше сообщение отправлено
Ошибка
Что-то пошло не так. Попробуйте еще раз.

Все статьи в блоге написаны на основе личного опыта и процесса работ. Не многие материалы попадают на сайт, но размещенные играют роль заметок для взаимопомощи. В случае, если требуется помощь с сайтом — можно обратиться через форму выше, страницу Контакты или написать на Whatsapp.

Наши услуги по основным направлениям

Наш сайт использует cookie для хранения данных и персонализации контента. Продолжая использовать сайт, Вы даете на это свое согласие.
Понятно