Um eine Float ( Fliesskomma) Zahl in einen String umzuwandeln kann die Funktion verwendet werden.
String float2str(float f, int n) {
// Float in String umwandeln mit x Kommastellen
// 1234.5678 max. 5 Vorkomma und 0...n Nachkommastellen
// Eingabe
// float f: zahl max. 32000,0 und min. 0.00000000001 ? ggf. kleiner
// int n: Nachkommastellen 0...10 ggf. mehr
// Ausgabe
// String z.B. "10.04"
//
// Matthias Busse 20.5.2014 Version 2.0
String s="12345.67890";
int i, k, st=0;
float teiler;
double d,e;
char c;
s = "";
d = f;
for(i=10000; i >0; i/=10) {
// 10000er 1000er 100er 10er 1er
k=(int)d/i;
if((k>0) | st) {
st=1;
c=k+48; // ASCII
s.concat(c);
}
d = d - (k*i);
}
if(st==0) s.concat("0"); // wenigstens 0 ausgeben
if(n>0) s.concat("."); // Dezimalpunkt
teiler = 0.1;
for(i=0; i< n; i++) {
e = d / teiler; // 0.1er 0.01er 0.001er 0.0001er
k=(int)e;
c=k+48; // ASCII
s.concat(c);
d = d - (k*teiler);
teiler = teiler / 10.0;
}
return s;
} // float2str
Parameter sind die Float Zahl mit maximal 5 Vorkomma- und 10 Nachkommastellen und die gewünschte Anzahl von Nachkommastellen.
Zurück gegeben wir der fertige String.
von Matthias Busse
