diff --git a/cores/arduino/WString.cpp b/cores/arduino/WString.cpp index 53329822..71bbc07d 100644 --- a/cores/arduino/WString.cpp +++ b/cores/arduino/WString.cpp @@ -742,6 +742,11 @@ long String::toInt(void) const float String::toFloat(void) const { - if (buffer) return float(atof(buffer)); + return float(toDouble()); +} + +double String::toDouble(void) const +{ + if (buffer) return atof(buffer); return 0; } diff --git a/cores/arduino/WString.h b/cores/arduino/WString.h index de5632c1..77709c3b 100644 --- a/cores/arduino/WString.h +++ b/cores/arduino/WString.h @@ -190,6 +190,7 @@ public: // parsing/conversion long toInt(void) const; float toFloat(void) const; + double toDouble(void) const; protected: char *buffer; // the actual char array