Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - StrToFloat Dezimalzahlen mit Komma anzeigen
ardely - Di 17.03.09 12:01
Titel: StrToFloat Dezimalzahlen mit Komma anzeigen
Guten Tag an alle,
Ich habe hin und her gesucht und nichts Richtiges zur mein Problem gefunden wie ich es lösen kann
hier ein Beispiel:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| var iR : double; begin iR := StrToFloat('0,001') * StrToFloat('0,001'); showmessage(floattostr(iResultat)); end; |
Also das Inhalt von iR ist 1e-06 beim anzeigen mit showmessage.
Wie kann ich die Anzeige von Dezimalzahlen mit Komma genauer bekommen
iR sollte '0,000001' anzeigen.
Sehr vielen dank für ihre beispiele und Hilfe
Grüsse
Keldorn - Di 17.03.09 12:05
Hallo,
gugg Dir mal floattostrF oder formatfloat an
edit: warum StrToFloat('0,001') ?
Gruß Frank
ardely - Di 17.03.09 12:26
Danke für den hinweis,
Ich schaue mal an wie ich damit umgehen kann!
ardely - Di 17.03.09 13:12
Hallo
Aber wie mache ich wenn die Wehrte von iR zufällig ist
Z.B.
0,001 * 0,00001 = 0,00000001
0,00001 * 0,000001 = 0,00000000001
Wenn ich dass richtig verstanden habe mit FormatFloat ist das Resultat fest angegeben!
Danke
BlackDragon - Di 17.03.09 13:53
Hi.
| ardely hat folgendes geschrieben: |
Hallo
Aber wie mache ich wenn die Wehrte von iR zufällig ist
Z.B.
0,001 * 0,00001 = 0,00000001
0,00001 * 0,000001 = 0,00000000001
Wenn ich dass richtig verstanden habe mit FormatFloat ist das Resultat fest angegeben!
Danke |
Irgendwie verstehe ich die Frage nicht so ganz und habe das Gefühl, dass andere das selbe Problem haben. :(
Deshalb mein Vorschlag: Beschreibe doch mal was du genau vorhast.
Und noch ein Link zum Stichwort
FloatToStrF [
http://www.delphibasics.co.uk/RTL.asp?Name=FloatToStrF].
Gruß
BlackDragon
ardely - Di 17.03.09 15:01
Hallo, hier ein beispiel.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| procedure TForm1.Button2Click(Sender: TObject); var iR,iZahlA,iZahlB : double; begin
iZahlA := 0.000001; iZahlB := 0.0001; iR := iZahlA * iZahlB; showmessage( FloatToStrF(iR, ffNumber, 8, 4)); end; |
Wie kann ich dieses Problem lösen...
Vielen dank für Ihre Angebot.
Keldorn - Di 17.03.09 15:21
und das 2. Stichwort, formatfloat?
Delphi-Quelltext
1:
| showmessage(formatfloat('0.###############',ir)); |
allerdings: ich würde nicht double nehmen, sondern extended. Wenn du mit so kleinen Zahlen hantierst, bekommst Du mit dem kleinern Typ Double mehr ungenauigkeiten rein.
außerdem ist dein FloattostrF-Aufruf bei precision nicht richtig, siehe oh (da sollten für double 15 rein) !
ardely - Di 17.03.09 15:26
Danke ich bin am testen...
ardely - Mi 18.03.09 11:07
habe mehrere test ausgeführt und es funktionniert für meine Applikation!
Danke und schönen Tag
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!