For cases like 1234567890123456.999 and 39.9, the writer outputs 1234567890123456. and 39.90 respectively. The patch tries to fix the issue. Please review the patch for me. If it looks good, please integrate the patch into the future releases.
Created with diff -ru
We recently put a lot of effort into getting a correct round-trip for floats. I think it will work for you now: https://github.com/open-source-parsers/jsoncpp/