Home / Tutorials / Arduino Tutorial / Converting Between Data Types in Arduino
pcbway
Arduino data types

Converting Between Data Types in Arduino

When writing code for Arduino, you’ll often need to convert between different data types. This guide will show you how to easily convert between the most common data types. We’ll break it down with clear examples and easy-to-read tables to make it simple to follow.


Why Convert Data Types?

Sometimes, the data you’re working with isn’t in the format you need. For example:

  • You may get a value as a String but need it as an int for math.
  • You may have a float value (decimal number) that needs to be shown as a String on an LCD.

Understanding how to convert between types ensures your Arduino program works smoothly.


Common Data Types in Arduino

Before we dive into conversions, here’s a quick overview of the most common data types you’ll encounter:

Data Type Description Example
int A whole number (no decimals) int x = 123;
float A number with decimals float y = 12.34;
char A single character (letter or symbol) char z = ‘A’;
String A string of characters (words, numbers) String str = “Hello”;
bool A true/false value bool flag = true;

Converting Between Data Types

Now, let’s explore the most common conversions you’ll need.


a. Converting String to int

When working with user input or data from sensors, you’ll often have numbers as String, but you might need them as int to perform calculations.

String strValue = "123"; 
int intValue = strValue.toInt();

In the above example, “123” is a String, and toInt() converts it to an integer.


b. Converting int to String

You might want to display an integer value as a String, like showing sensor data on an LCD.

int intValue = 123; 
String strValue = String(intValue);

Here, String(intValue) converts the integer to a String.


c. Converting float to String

To convert a decimal number to a String, you can use the String() function.

float floatValue = 12.34; 
String strValue = String(floatValue, 2); // '2' defines decimal places

In this example, String(floatValue, 2) converts the float to a String with 2 decimal places.


d. Converting String to float

If you have a number in a String but need it as a decimal number (float), use toFloat().

String strValue = "12.34";
float floatValue = strValue.toFloat();

The toFloat() function converts the string to a float.


e. Converting char to String

You may have single characters (char) and want to convert them into a String to work with.

char letter = 'A'; 
String strValue = String(letter);

f. Converting String to char

If you need to extract a char from a String, use the charAt() function.

String strValue = "Hello"; 
char firstLetter = strValue.charAt(0); // Gets the first letter 'H'

g. Converting int to char

To convert an integer (from 0 to 9) into its character representation, use:

int num = 5; 
char charValue = '0' + num; // Converts 5 into the character '5'

h. Converting char to int

To get the numeric value of a character, subtract ‘0’:

char charValue = '5'; 
int intValue = charValue - '0'; // Converts '5' into the number 5

4. Conversion Table: Quick Reference

From To Method or Function Example
String int toInt() strValue.toInt()
int String String() String(intValue)
float String String(variable, decimal) String(floatValue, 2)
String float .toFloat() strValue.toFloat()
char String String() String(charValue)
String char .charAt(index) strValue.charAt(0)
int char ‘0’ + variable ‘0’ + intValue
char int variable – ‘0’ charValue – ‘0’

Conclusion

By mastering these basic conversions, you can manipulate data effectively in your Arduino programs. Whether you’re converting user input, sensor data, or simply formatting numbers for display, these functions will come in handy. Keep this guide as a reference, and soon these conversions will become second nature to you!


I hope this tutorial helped simplify data type conversions for you! If you have more questions or suggestions, feel free to drop a comment on the blog.

Check Also

Arduino Tones

Creating Tones with Arduino

One of the fun and engaging projects with Arduino is creating tones using a piezo …

Index