Forum: Programmieren allgemein
by egentur,
5. Feb 2021
Danke an Incocnito und alle anderen
Ich habe auch im Source keine Stelle gefunden wo das explizit umgestellt wird.
Ich mach dann mal +0.000001
Schöne Grüße :-D
Forum: Programmieren allgemein
by egentur,
5. Feb 2021
Hallo Incocnito
In der Tat.
Beim ersten Durchlauf ergibt System.Get8087CW()
den Wert 4722 und bleibt bestehen ( hier rundet floattostrf(rv,fffixed,6,4) den Double Wert von 0.500149999999999983 auf 0,5002)
bis ich aus dem PrintPreview den Ausdruck auf den Drucker (unabhängig vom Druckertyp) wähle
Forum: Programmieren allgemein
by egentur,
4. Feb 2021
Hallo Incocnito
Doch , danke
Ich werde da die Messwerte immer als string mit 5 Nachkommastellen geliefert werden
nach der Konvertierung in double 0.000001 addieren
dann futionierts auch mit floattostrf(x,fffixed,6,4)
Ich musste das so machen weil der User die Nachkommastellen in seinem Grid/Report individuell einstellen wollte.
Forum: Programmieren allgemein
by egentur,
4. Feb 2021
Hallo bvcs
Mein Problem war schon floattostrf
Selbst wenn ich den Wert der Double Variablen explizit auf 0.500149999999999983 setze ( was ja dann bei floattostrf(var,fffixed,6,4) 0.5001 ergeben müsste
habe ich bei den Aufrufen immer das Ergebnis 0.5002
Erst nach einem Ausdruck egibt es dann 0.5001 und bleibt auch so, bis zu einem erneuten Prgogrammstart.
Forum: Programmieren allgemein
by egentur,
1. Feb 2021
Danke für die vielen Hinweise!
Meine Situation ist folgende:
Ich habe eine Messgerät das den Wert immer mit 5 Nachkommastellen als String liefert. z.B. '0,50015'
Dieser wert wir dann für eine Nebenrechnung mit val() in eine Double Variable konvertiert.
Der User kann dann in der Applikation einstellen, ob er den Wert mit 5 oder weniger Nachkommastellen sehen will.
Forum: Programmieren allgemein
by egentur,
29. Jan 2021
Hallo Incocnito
Genauso verhält es sich bei mir.
Ich habe die 8 Jahre alte Software übernommen.
Ein Messwert kommt als String '0.50015' ,
wird dann für eine weitere Berechnung in Double konvertiert
val(messwert, double, error) double ist dabei 0.500149999...
Forum: Programmieren allgemein
by egentur,
28. Jan 2021
Hallo
Leider macht es keinen Unterschied welchen Druck man benutzt.
Im Prwview vom Fastreport kann ich auch nach PDF exportieren ( kein Problem ),
nur wenn ich drucke reagiert die Funktion nachher anders.
Das löst sich nur auf , wenn ich die Applikation ganz schließe !
Forum: Programmieren allgemein
by egentur,
28. Jan 2021
Nachtrag
Im Debugger sind die Parameter für die Funktion FloatToStrF korrekt.
Ich habe nur den Eindruck das die Funktion einmal rundet und dann (nur nach einem Ausdruck) einfach ein truncate macht!
Forum: Programmieren allgemein
by egentur,
28. Jan 2021
Hallo zusammen
Habe hier eine wahrscheinlich simple Frage.
In einer Software (Delphi 6) habe ich ein Problem mit der Funktion
Var
RV : Double;
Result :String;
begin