Re: Zahlendreher



Hi,

man widerhole das Experiment mit der folgenden Ausgabe-Routine.

Und dann widerhole man es nochmal, indem man Zeile A durch B ersetzt.

Dass bei der A-Variante was anderes rauskommt als bei der B-Variante, ist nicht unbedingt verwunderlich, aber insgesamt zeigt das doch, dass das ganze doch komplizierter ist, als man auf den zweiten oder dritten Blick meint.

Ciao,
Ingo



  public static String toString(float f)
  {
    return toString("0.", f);
  }

  private static String toString(String s, float f)
  {
    if (f == 0)
    {
      return s;
    }
    float sum = 0;
    // for (int i = 0; i < 10; i++) { sum = sum + f; } // A
    sum = 10 * f; // B
    int z = (int) sum;
    sum = sum - z;
    return toString(s + z, sum);
  }

.