String.toDouble()

Description

Converts a valid String to a double. The input String should start with a digit. If the String contains non-digit characters, the function will stop performing the conversion. For example, the Strings "123.45", "123", and "123fish" are converted to 123.45, 123.00, and 123.00 respectively. Note that "123.456" is approximated with 123.46. Note too that floats have only 6-7 decimal digits of precision and that longer Strings might be truncated.

Syntax

myString.toDouble()

Parameter Values

  • myString: a variable of type String.

Return Values

  • If no valid conversion could be performed because the String doesn't start with a digit, a zero is returned. Data type: double.

Example Code

void setup() { Serial.begin(9600); String myString = "20.9"; float myDouble = myString.toDouble(); Serial.println(myDouble); } void loop() { }

The result on Serial Monitor:

Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
Arduino Uno
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno' on 'COM15')
New Line
9600 baud
20.90
Ln 11, Col 1
Arduino Uno on COM15
2

※ NOTES AND WARNINGS:

If the string is modified, it is highly recommended using String.reserve() to prevent the memory fragmentation issue

See Also

ARDUINO BUY RECOMMENDATION

Arduino UNO R3
Arduino Starter Kit
Disclosure: Some links in this section are Amazon affiliate links. If you make a purchase through these links, we may earn a commission at no extra cost to you.
Additionally, some links direct to products from our own brand, DIYables .

※ OUR MESSAGES