KrisKasprzak
Well-known member
I'm trying to convert a float to char -- long story.
goals
float char
1.2 1.2
23.007 23.007
1234.1 1234.1
but
float n1 = 223.98;
Serial.println(n1, 7); // prints 223.9799957
and
sprintf(dn, "%f", data);
Serial.println(dn); // prints 223.979996
Any thoughts?
goals
float char
1.2 1.2
23.007 23.007
1234.1 1234.1
but
float n1 = 223.98;
Serial.println(n1, 7); // prints 223.9799957
and
sprintf(dn, "%f", data);
Serial.println(dn); // prints 223.979996
Any thoughts?
Code:
void setup() {
Serial.begin(9600);
while (!Serial) {}
float n1 = 223.98; // double isn't any better
Serial.println(n1, 7); // prints 223.9799957
ItBreaks(n1);
}
void loop() {
}
void ItBreaks(float data) {
char dn[20];
sprintf(dn, "%f", data);
Serial.print("Converted to a char:");
Serial.println(dn); // prints 223.979996
}