There is String.toInt(), but no String.toLong() or the many other variations. Do I have to resort to atol(String.c_str()) or is there a better way to convert a String to a long?
2 Answers
Using atol(String.c_str()) looks OK to me. If there was a String.toLong() it would be written that way anyway.
In fact, looking at the code for String.toInt() that's exactly what it does:
long String::toInt(void) const
{
if (buffer) return atol(buffer);
return 0;
}
So the answer is: use String.toInt().
-
1Interesting. I wonder why they didn't just call it
toLong()??Sound Conception– Sound Conception2017-08-24 00:20:16 +00:00Commented Aug 24, 2017 at 0:20
So the answer is: use String.toInt().
Probably not, as this is the definition of a String method:
long String::toInt(void) const
The real work is:
atol(buffer);
ASCII to long.