mirror of
https://github.com/nlohmann/json.git
synced 2024-11-28 09:09:02 +08:00
Use max_digits10 in dump_float for float->text->float round-trip
This commit is contained in:
parent
810f81bbd9
commit
9b9919d460
@ -665,8 +665,8 @@ class serializer
|
|||||||
|
|
||||||
void dump_float(number_float_t x, std::false_type /*is_ieee_single_or_double*/)
|
void dump_float(number_float_t x, std::false_type /*is_ieee_single_or_double*/)
|
||||||
{
|
{
|
||||||
// get number of digits for a text -> float -> text round-trip
|
// get number of digits for a float -> text -> float round-trip
|
||||||
static constexpr auto d = std::numeric_limits<number_float_t>::digits10;
|
static constexpr auto d = std::numeric_limits<number_float_t>::max_digits10;
|
||||||
|
|
||||||
// the actual conversion
|
// the actual conversion
|
||||||
std::ptrdiff_t len = snprintf(number_buffer.data(), number_buffer.size(), "%.*g", d, x);
|
std::ptrdiff_t len = snprintf(number_buffer.data(), number_buffer.size(), "%.*g", d, x);
|
||||||
|
@ -8136,8 +8136,8 @@ class serializer
|
|||||||
|
|
||||||
void dump_float(number_float_t x, std::false_type /*is_ieee_single_or_double*/)
|
void dump_float(number_float_t x, std::false_type /*is_ieee_single_or_double*/)
|
||||||
{
|
{
|
||||||
// get number of digits for a text -> float -> text round-trip
|
// get number of digits for a float -> text -> float round-trip
|
||||||
static constexpr auto d = std::numeric_limits<number_float_t>::digits10;
|
static constexpr auto d = std::numeric_limits<number_float_t>::max_digits10;
|
||||||
|
|
||||||
// the actual conversion
|
// the actual conversion
|
||||||
std::ptrdiff_t len = snprintf(number_buffer.data(), number_buffer.size(), "%.*g", d, x);
|
std::ptrdiff_t len = snprintf(number_buffer.data(), number_buffer.size(), "%.*g", d, x);
|
||||||
|
Loading…
Reference in New Issue
Block a user