PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Konvertierung von Zahlen in scientific representation



Mat
01-11-2004, 17:23
Hallo Allerseits,
ich hätte da ein wohl sehr triviales aber dennoch zu lösendes Problemchen bezüglich der Konvertierung einer float-Zahl in die scientific representation.

Also für die, die es nicht wissen:
Wenn ich z.B. die Zahl
0,0000034 habe soll ausgegeben werden 3,4e-6
oder wenn ich
10000 habe soll 1,0e+4 ausgegeben werden.

Ich weiß nicht genau wie ich dieses Problem am effizientesten lösen kann.
Die Zahl in ne For-Schleife zu packen und solange nach einer Stelle zu suchen die ungleich NUll ist finde ich völlig ineffizient. Das geht bestimmt viel einfacher, nur fällt mir gerade nichts ein. Vielleicht irgendwie mit Bit-Schiberei?
Wenn jemand ne blendende Idee hat........nehme sie gerne an ;o)

Dangööö

sticky bit
01-11-2004, 23:10
Wie wärs mit printf("%e\n", 0.0000034);?
Für genauigeiten und Stellenanzahl:
man printf

Und wenn es unbedingt Tatsächlich ein Komma statt ein Punkt als Dezimaltrennzeichen sein soll, sprintf() verwenden und den Punkt durhc ein komma ersetzen und dann ausgeben...