Zitat von
Nicodius:
ich hab mir eine physik
unit geschrieben die eben auch in 10er potenzen umrechnen soll
ich hab mal die negativen 10er potenzen zeurst gemacht
function TPhysic.Potenz10(z: real; nr : Integer): String;
huch, da stehen mir ja sämtliche Haare rechtwinklig vom Kopf ab, bei diesem Umweg über Strings...
ich würde etwas in diese Richtung vorschlagen:
Delphi-Quellcode:
Function EngineerFormat(Const F : Double;Const Digits : Byte) : String;
Var
P : Integer;
Begin
If (Abs(F) > 0.0) Then P:=Trunc(Log10(F) + 500) - 500 Else P:=0;
Result:=Format('%s*10^%d',[FloatToStrF(F / Power(10,P),ffFixed,15,Digits - 1),P]);
end;