zkrvndm
@zkrvndm
Архитектор решений

Как записать в JSON число только с ДВУМЯ цифрами после точки?

Пример:
json_encode([ 'Цена' => (float)$_GET['price'] ], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);

В переменной $_GET['price'] строка с содержимым "2408570.45".

Получаю на выходе:
{
    "Цена": 2408570.450000000186264514923095703125
}
  • Вопрос задан
  • 581 просмотр
Решения вопроса 1
zkrvndm
@zkrvndm Автор вопроса
Архитектор решений
Проблема была в настройках хостинга, конкретно же в директиве serialize_precision.
Обычно ставится -1 на новых версиях php, у меня же значение было иное, оттуда и проблемы.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого
Не использовать float
json_encode(
		[ 'Цена' => intval($_GET['price'] * 100 )/100 ], 
		JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT
);


php code online
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы