человекочитаемое значение float в JSON
 Добавлено: 12.11.2023 11:45:29
Добавлено: 12.11.2023 11:45:29Доброго времени суток!
Пишу данные в структуру json. Для работы с ним использую fpJSON.
В файле, который получаю после записи json-объекта, получаю следующее:
Вопрос, как записать значение float в json в нормальном виде, привычным для чтения.
Т.е. например как в данном случае получить в файле
Понятно что можно писать значение используя format, но тогда это будет строка, а не float
Может есть какая-то совсем спрятанная настройка этого TJSONObject которая бы указывала в каком стиле писать float ?
Добавлено спустя 53 минуты 50 секунд:
Сам себе отвечаю - без изменения в исходнике этого модуля - ни как (
(
Функция Str поддерживает указание количества знаков после точки и если в данном случае указать количество то запись в json приобретет нормальный человекочитаемый формат, такой же как например результат функции FloatToStr
но не хочется менять код этого модуля
			Пишу данные в структуру json. Для работы с ним использую fpJSON.
- Код: Выделить всё
- ....
 Var obj:TJSONObject;
 p:Real;
 ....
 p:=1500;
 obj.Add('price',p);
 .....
В файле, который получаю после записи json-объекта, получаю следующее:
- Код: Выделить всё
- ...
 "price" : 1.5000000000000000E+003,
 ...
Вопрос, как записать значение float в json в нормальном виде, привычным для чтения.
Т.е. например как в данном случае получить в файле
- Код: Выделить всё
- "price" : 1500.0,
Понятно что можно писать значение используя format, но тогда это будет строка, а не float

Может есть какая-то совсем спрятанная настройка этого TJSONObject которая бы указывала в каком стиле писать float ?
Добавлено спустя 53 минуты 50 секунд:
Сам себе отвечаю - без изменения в исходнике этого модуля - ни как
 (
(- Код: Выделить всё
- function TJSONFloatNumber.GetAsString: TJSONStringType;
 begin
 Str(FValue,Result);
 // Str produces a ' ' in front where the - can go.
 if (Result<>'') and (Result[1]=' ') then
 Delete(Result,1,1);
 end;
Функция Str поддерживает указание количества знаков после точки и если в данном случае указать количество то запись в json приобретет нормальный человекочитаемый формат, такой же как например результат функции FloatToStr
но не хочется менять код этого модуля