THRIFT-3744 The precision should be 17 (16 bits need after dot) after dot for double type.
This closes #948
diff --git a/lib/d/src/thrift/protocol/json.d b/lib/d/src/thrift/protocol/json.d
index 223d3a3..56a71da 100644
--- a/lib/d/src/thrift/protocol/json.d
+++ b/lib/d/src/thrift/protocol/json.d
@@ -133,7 +133,8 @@
bool escapeNum = value !is null || context_.escapeNum;
if (value is null) {
- value = format("%.16g", dub);
+ /* precision is 17 */
+ value = format("%.17g", dub);
}
if (escapeNum) trans_.write(STRING_DELIMITER);