FPC setzt meine Variable = -0
FPC setzt meine Variable = -0
HI Leute,
ich habe ein echt blödes Problem. Wenn ich die Zahlen -1.827 und 5.0508e-27 miteinander multipliziere und in eine Variable vom Typ extended speichere, kriege ich -0 raus. Auch wenn ich von Hand das Ergebnis in die Variable speichere, kriege ich -0. Woran liegts?
vielen Dank im voraus
Thomas
ich habe ein echt blödes Problem. Wenn ich die Zahlen -1.827 und 5.0508e-27 miteinander multipliziere und in eine Variable vom Typ extended speichere, kriege ich -0 raus. Auch wenn ich von Hand das Ergebnis in die Variable speichere, kriege ich -0. Woran liegts?
vielen Dank im voraus
Thomas
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Es wird ja auch nicht abgeschnitten ich habs gerade ausprobiert und der volle Wert stand hinterher im Extended drin was erzählst du denn ? Kommt doch gar nicht -0 raus.
Was meinst du mit "schreibt aus"
Das hier hab ich gerade probiert und es läuft prima.
Was meinst du mit "schreibt aus"
Code: Alles auswählen
a := -1827 * 0.000000000000000000000050508;
a := a/5;
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Dann würd ich mir einfach mal anschauen was FloatToStr macht ....
http://www.delphibasics.co.uk/RTL.asp?Name=FloatToStr
Floattostr kann nämlich nur 15 Stellen genauigkeit weshalb dir -0 angezeigt wird. Und es formatiert nunmal alles was geht mit expotentialdarstellung.
Wenn du es anders ausgegeben haben willst solltest du auch ne andere Funktion nehmen. Nirgendwo n Bug
Kannst z.b. FloatToStrF nehmen http://www.delphibasics.co.uk/RTL.asp?Name=FloatToStrF
http://www.delphibasics.co.uk/RTL.asp?Name=FloatToStr
Floattostr kann nämlich nur 15 Stellen genauigkeit weshalb dir -0 angezeigt wird. Und es formatiert nunmal alles was geht mit expotentialdarstellung.
Wenn du es anders ausgegeben haben willst solltest du auch ne andere Funktion nehmen. Nirgendwo n Bug

Kannst z.b. FloatToStrF nehmen http://www.delphibasics.co.uk/RTL.asp?Name=FloatToStrF
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/