Ganz genau Runden geht eh nicht ... liegt halt an der internen Struktur der Typen (Single, Double...).
Aber du kannst es so machen:
X := Runden(
X * 10^
5) / 10^
5;
X := Round(X * 100000) / 100000;
Und hast du mal nachgesehn, was du für Werte in z übergibst?
Notfalls mal vorher testen:
Delphi-Quellcode:
If (z < -1) or (z > 1) Then
MessageBox('Fehler: ' + FloatToStr(z), ...