How can an integer or decimal variable be converted into a hex string? I can do the opposite (convert hex to int) but I can't figure out the other way.
This is for Serial.print() hex values in an array.
3 Answers
Take a look at the Arduino String tutorial here. The code below was taken from that example.
// using an int and a base (hexadecimal): stringOne = String(45, HEX); // prints "2d", which is the hexadecimal version of decimal 45: Serial.println(stringOne); There are plenty of other examples on that page, though I think for floating point numbers you'll have to roll your own.
1There's a simple solution, just use:
Serial.print(yourVariable, HEX); 0The Streaming library provides a built in way to do this:
#include <Streaming.h> ... Serial << "45 in hex is " << _HEX(45) << endl; You will need to download the Library from and place it in a subdirectory of your Sketchbook folder. The Menu File-Preferences will show you where that is.
This library can also be used when outputting to LCDs.