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