Если вы действительно очень нужно сделать, что вы можете рассмотреть два варианта:
Опция факса. 1:
Вы создаете собственную колонну json. Если данные, которые вы должны кодировать, имеют простую структуру, и в будущем структура не может быть изменена, задача проста. У вас будет более медленный скрипт, так что еще одно требование состоит в том, что данные не слишком много.
Для одного объекта, как в примере вы публикуемый ...
$json = sprintf('{"val": %.2f}', $floatValue);
Конечно для структурированных данных, как массив объектов, массивы массивов ... вы должны будете написать необходимые петли , место точно .,: [] {} " Надеюсь, что я дал вам идею ...
Вариант Н.Р. 2:.
вы сформируете данные, которые вы должны кодировать только как вы ш ould, если у вас не было странное требование, о котором вы просили. Но хранить значения плавания в строках, которые также будут содержать шаблон символов. Например, вы будете хранить 5000.00 как «## 5000.00 ##» Кодировать данные с помощью json_ecode. Permorm строка замены для устранения «## и ##»
$floatValue = 5000.00;
$data = array("val" => sprintf("##%.2f##", $floatValue));
$json = json_encode($data);
$json = str_replace('"##', '', $json);
$json = str_replace('##"', '', $json);
Выберите символы шаблона (## в примере) осторожно, чтобы избежать конфликтов с другими строками, которые могут содержать один и тот же шаблон elsewere в вас данных, чтобы быть закодирован.
Json предназначенный для передачи данных. Для передачи данных вам не нужны незначительные цифры в ваших номерах. Если вы хотите, чтобы они были представлены конечному пользователю, используйте, например, 'toFixed()' на стороне клиента перед показом. – GSerg
Вам необходимо форматировать данные вручную после json_decode(), JSON будет обрабатывать формат данных для вас. – Fwolf
Невозможно сделать с json_encode AFAIK. Используйте JSON для передачи данных, не используйте их для управления представлением данных пользователю. – Keilo