summaryrefslogtreecommitdiff
path: root/src/mbgl/util/dtoa.cpp
blob: 844d50b7452f4b868f5850fac3f4cd784c1273ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "dtoa.hpp"

#include <rapidjson/internal/dtoa.h>

namespace mbgl {
namespace util {

std::string dtoa(double value, bool decimal) {
    std::string data;
    data.resize(25);
    auto end = rapidjson::internal::dtoa(value, const_cast<char*>(data.data()));
    auto length = end - data.data();
    if (!decimal && length >= 3 && end[-1] == '0' && end[-2] == '.') {
        // Remove trailing ".0" for integers
        length -= 2;
    }
    data.resize(length);
    return data;
}

} // namespace util
} // namespace mbgl