float2str() Funktion, wandelt Float in einen String um

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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.