diff --git a/include/ArduinoJson/Internals/JsonWriter.hpp b/include/ArduinoJson/Internals/JsonWriter.hpp index dca48963..b19dbe27 100644 --- a/include/ArduinoJson/Internals/JsonWriter.hpp +++ b/include/ArduinoJson/Internals/JsonWriter.hpp @@ -28,7 +28,7 @@ class JsonWriter { void writeString(const char *value); void writeInteger(long value); void writeBoolean(bool value); - void writeDouble(double value, int decimals); + void writeDouble(double value, uint8_t decimals); void writeColon() { _length += _sink->write(':'); } void writeComma() { _length += _sink->write(','); } diff --git a/include/ArduinoJson/JsonArray.hpp b/include/ArduinoJson/JsonArray.hpp index 8c94f131..d2d596a1 100644 --- a/include/ArduinoJson/JsonArray.hpp +++ b/include/ArduinoJson/JsonArray.hpp @@ -41,7 +41,7 @@ class JsonArray : public JsonPrintable, } value_type &add(); - void add(double value, int decimals) { add().set(value, decimals); } + void add(double value, uint8_t decimals) { add().set(value, decimals); } void add(JsonArray &nestedArray) { add().set(nestedArray); } void add(JsonObject &nestedObject) { add().set(nestedObject); } diff --git a/include/ArduinoJson/JsonValue.hpp b/include/ArduinoJson/JsonValue.hpp index 0591bc0a..8cfe4d6d 100644 --- a/include/ArduinoJson/JsonValue.hpp +++ b/include/ArduinoJson/JsonValue.hpp @@ -7,6 +7,7 @@ #pragma once #include +#include // for uint8_t #include "Internals/JsonValueContent.hpp" #include "Internals/JsonValueType.hpp" @@ -25,7 +26,7 @@ class JsonValue { JsonValue() : _type(Internals::JSON_UNDEFINED) {} void set(bool value); - void set(double value, int decimals = 2); + void set(double value, uint8_t decimals = 2); void set(signed char value) { set(static_cast(value)); } void set(signed int value) { set(static_cast(value)); } void set(signed long value); diff --git a/src/Internals/JsonParser.cpp b/src/Internals/JsonParser.cpp index 1df73876..9d6ef761 100644 --- a/src/Internals/JsonParser.cpp +++ b/src/Internals/JsonParser.cpp @@ -118,7 +118,7 @@ void JsonParser::parseNumberTo(JsonValue &destination) { if (*endOfLong == '.') { // stopped on a decimal separator double doubleValue = strtod(_ptr, &_ptr); - int decimals = _ptr - endOfLong - 1; + uint8_t decimals = _ptr - endOfLong - 1; destination.set(doubleValue, decimals); } else { _ptr = endOfLong; diff --git a/src/Internals/JsonWriter.cpp b/src/Internals/JsonWriter.cpp index e1ae73d3..9054cd95 100644 --- a/src/Internals/JsonWriter.cpp +++ b/src/Internals/JsonWriter.cpp @@ -19,6 +19,6 @@ void JsonWriter::writeBoolean(bool value) { _length += _sink->print(value ? "true" : "false"); } -void JsonWriter::writeDouble(double value, int decimals) { +void JsonWriter::writeDouble(double value, uint8_t decimals) { _length += _sink->print(value, decimals); } diff --git a/src/JsonValue.cpp b/src/JsonValue.cpp index ab44d396..ddb81acf 100644 --- a/src/JsonValue.cpp +++ b/src/JsonValue.cpp @@ -50,7 +50,7 @@ void JsonValue::set(const char *value) { _content.asString = value; } -void JsonValue::set(double value, int decimals) { +void JsonValue::set(double value, uint8_t decimals) { if (_type == JSON_INVALID) return; _type = static_cast(JSON_DOUBLE_0_DECIMALS + decimals); _content.asDouble = value;