Autor Beitrag
mr_r0ssi
Hält's aus hier
Beiträge: 10

Win 98, Win 2000
D6 Prof
BeitragVerfasst: Do 18.03.04 11:25 
Hallo,

ich habe ein Problem mit StrToFloat. Nach einlesen meiner Daten aus einer Textdatei + anschliessender Konvertierung in ein entsprechendes Array, sehe ich mit dem Debugger zB. anstatt 58,8 --> 58,799999237 oder 58,7 --> 58,7000000763 oder aber 58,5 --> 58,5.
Das Array ist vom Typ Double und auch die Funktion RoundTo bringt keine Verbesserung.
Ich wäre ueber ein paar Tips sehr dankbar.

Stephan
Nele
ontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 59



BeitragVerfasst: Do 18.03.04 12:35 
Hi,
das Problem haben/hatten wir auch - bevor ich mit einer Zahl vom Typ Double arbeite runde ich diese Zahl, auch wenn sie im Prinzip gerundet sein müßte... Allerdings benutzen wir nicht RoundTo, sondern eine eigene Funktion, die im Prinzip aber dasselbe macht, aber den Rückgabewert vom Typ currency hat [bringt dann evtl. anere Probleme mit sich :( ]

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
function RundenStellen(zahl: currency; stellen: integer): currency;
var x: currency;
begin
  x := StrToFloat(FloatToStrF(zahl, ffFixed, 15, Stellen));
  result := x;
end;


ob dich das weiterbringt weiß ich nict, aber du kannst es ja mal probieren...
Gruß
Nele