@obvilion

Как вывести корректную десятичную дробь в json_encode()?

Здравствуйте. У меня тут дилемма.
Имеется функция, которая рендерит JSON ответ:
function message($string, $status = false) {
    global $start_time;
    return die(json_encode(['response' => array_merge(['status' => $status, 'server_time' => (int)$_SERVER['REQUEST_TIME'], 'process_time' => round(microtime(true)-$start_time, 5)], $string)], JSON_UNESCAPED_UNICODE));
}

Вот ответ от сервера:
{"status":false,"server_time":1514894603,"process_time":3.0e-5,"code":101}}

Я сижу через Mozilla, она сама декодит JSON и показывает:
response	
status	false
server_time	1514894603
process_time	0.00003
code	101

process_time = 0.00003 сек
А в "голом" JSON показывает 3.0e-5 - как можно это исправить?
  • Вопрос задан
  • 457 просмотров
Решения вопроса 3
@Batlab
PHP Senior | Python Middle | JS Junior
Попробуй преобразовывать process_time в строку
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
3.0e-5 = 3·10-5 = 3·0.00001 = 0.00003
Ответ написан
"" + json['process_time']
Переведет число в строку в JS.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы