univalue: add support for real, fix percision and make it json_spirit compatible

- avoid breaking the API because of different number/percision handling
This commit is contained in:
Jonas Schnelli
2015-05-10 15:53:54 +02:00
parent 21c10de8c2
commit 0c5b2cf69a
5 changed files with 25 additions and 10 deletions

View File

@@ -3,6 +3,8 @@
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#include <ctype.h>
#include <iomanip>
#include <sstream>
#include <stdio.h>
#include "univalue.h"
#include "univalue_escapes.h"
@@ -59,6 +61,13 @@ string UniValue::write(unsigned int prettyIndent,
case VSTR:
s += "\"" + json_escape(val) + "\"";
break;
case VREAL:
{
std::stringstream ss;
ss << std::showpoint << std::fixed << std::setprecision(8) << get_real();
s += ss.str();
}
break;
case VNUM:
s += val;
break;