Wenn das einfach angehängt wird, dann ist es natürlich ein Bug.
Jetzt müssen wir nur noch hoffen, dass sie deinen Kommentar unter dem geschlossenen Ticket noch sehen. Sonst wirst'e wohl ein Neues erstellen müssen.
Wobei ich aber nicht erkennen kann, dass JSON für
Float Number
zwingend einen
.
enthalten muß. (aber selbst wenn, dann gehört der Punkt vor das E)
Per se ist der Punkt optional, laut Definition.
Im Grunde kennt Delphi's JSON auch NAN, Infinity und -Infinity, aber .... hmmmmmmmmm.
PS: NINF
Zitat:
Delphi-Quellcode:
procedure TJsonTextWriter.WriteValue(Value: Single);
var
Str: string;
begin
inherited WriteValue(Value);
if Value.IsPositiveInfinity then
Str := JsonPositiveInfinity
else if Value.IsNegativeInfinity then
Str := JsonNegativeInfinity
else if Value.IsNan then
Str := JsonNaN
else
Str := FloatToStr(Value, FFormatSettings);
if (FloatFormatHandling = TJsonFloatFormatHandling.Symbol) or not (Value.IsInfinity or Value.IsNan) then
// nothing
else
if FloatFormatHandling = TJsonFloatFormatHandling.DefaultValue then
Str := '0.0'
else
Str := QuoteChar + Str + QuoteChar;
FWriter.Write(Str);
end;
Tipp für dich: TJsonFloatFormatHandling.Symbol
Aber ich sehe hier aber nirgendwo, dass sie blind ein '.0' anhängen.
Hast du ein Codebeispiel?