On Thursday, 8 August 2013 at 10:13:51 UTC, khurshid wrote:
On Thursday, 8 August 2013 at 10:11:07 UTC, MrSmith wrote:
On Thursday, 8 August 2013 at 08:04:49 UTC, khurshid wrote:
I just check std.json for parsing real numbers.
import std.json;
import std.stdio: writeln;
int main()
{
auto json = parseJSON("1 .24E +1");
writeln(toJSON(&json));
return 0;
}
and
output: 12.4
It's bug or normal ?
Yep, because 1.24E+1 is 12.4E0
I wrote not a "1.24E+1", a "1 .24E +1" with leading
spaces.
Well what should it be if it's not 12.4? If you think it should
be 2.24 you are wrong. In JSON there are no additions or
subtractions. It is only static data. It is just a format. And
although JSON stands for JavaScriptObjectNotation it isn't JS.
Even if {"key":1.24 + 1} is valid JS it is not valid JSON.