Über +/- INF und NaN kann man sich aber auch nicht beschweren, finde ich. Die sind zwar in der entsprechenden IEEE-Norm beschrieben, aber kein Teil von JSON.
Und mit Single.MaxValue habe ich kein Problem:
Delphi-Quellcode:
program Project19;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils,
System.Json,
System.Math;
procedure p();
var
asFloat: Single;
asJson: TJSONValue;
asFloatAgain: Single;
begin
asFloat := Single.MaxValue;
asJson := TJSONNumber.Create(asFloat);
asFloatAgain := asJson.GetValue<Single>();
Assert( SameValue(asFloat, asFloatAgain, Single.Epsilon) );
end;
begin
p();
end.