Constructs an instance of the String class. There are multiple versions that construct Strings from different data types (i.e. format them as sequences of characters), including:

  • A constant string of characters, in double quotes (i.e. a char array)
  • A single constant character, in single quotes
  • Another instance of the String object
  • A constant integer or long integer
  • A constant integer or long integer, using a specified base
  • An integer or long integer variable
  • An integer or long integer variable, using a specified base
  • A float or double, using a specified decimal places

Constructing a String from a number results in a string that contains the ASCII representation of that number:

  • The default is base ten, so: String thisString = String(13); gives you the String "13".
  • However, you can use other bases. For example: String thisString = String(13, HEX); gives you the String "D", which is the hexadecimal representation of the decimal value 13.
  • Or if you prefer binary, String thisString = String(13, BIN); gives you the String "1101", which is the binary representation of 13.


String(val); String(val, base); String(val, decimalPlaces);

Parameter Values

  • val: a variable to format as a String. Allowed data types: string, char, byte, int, long, unsigned int, unsigned long, float, double.
  • base: (optional) the base in which to format an integral value.
  • decimalPlaces: only if val is float or double. The desired decimal places.

Return Values

  • An instance of the String class.

Example Code

All of the following are valid declarations for Strings.

String stringOne = "Hello String"; // using a constant String String stringOne = String('a'); // converting a constant char into a String String stringTwo = String("This is a string"); // converting a constant string into a String object String stringOne = String(stringTwo + " with more"); // concatenating two strings String stringOne = String(13); // using a constant integer String stringOne = String(analogRead(0), DEC); // using an int and a base String stringOne = String(45, HEX); // using an int and a base (hexadecimal) String stringOne = String(255, BIN); // using an int and a base (binary) String stringOne = String(millis(), DEC); // using a long and a base String stringOne = String(5.698, 3); // using a float and the decimal places




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

See Also


Arduino UNO R3
Arduino Starter Kit
Please note: These are affiliate links. If you buy the components through these links, We may get a commission at no extra cost to you. We appreciate it.