std.json parsing real numbers.

Borislav Kosharov boby_dsm at abv.bg
Thu Aug 8 11:46:15 PDT 2013


On Thursday, 8 August 2013 at 16:05:56 UTC, Nick Sabalausky wrote:
> On Thu, 08 Aug 2013 17:20:16 +0200
> "Borislav Kosharov" <bosak at gmail.com> wrote:
>
>> 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?
>
> A syntax error.

I don't think this would cause any problems. It would just throw 
syntax error because there is white-space between? It would be 
just annoying to get syntax error because of extra white-space.

Maybe this is one of the situations where we should think "It's 
not a bug, it's a feature!"

Unless there is a situation that would make no sense to work or 
something, it should be left like it is now.


More information about the Digitalmars-d mailing list