www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 15885] New: float serialized to JSON loses precision


          Issue ID: 15885
           Summary: float serialized to JSON loses precision
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: major
          Priority: P1
         Component: phobos
          Assignee: nobody puremagic.com
          Reporter: rjmcguire gmail.com

I've marked this issue as major because a lot of people are using JSON for
mobile app communication, and I discovered this because an incorrect invoice
was sent (fortunately only during testing).

In this code:
import std.json;
import std.stdio;

void main() {
    JSONValue json;
    json.type = JSON_TYPE.FLOAT;
    json.floating = 30738.22;

the resulting output is:

The problem is that all float serialization just uses to!string() from
std.json should serialize to the standard   json.org.

Apr 06 2016