Real ausgeben mit TurboPascal

Ich möchte nit TurboPascal eine real-Variable ausgeben.
Es soll die Form 3,98 haben (Punkt oder Komma egal, aber halt keine Exp.-Schreibweise).
Ich könnte write(var:1:9); schreiben, aber dann habe ich immer neun Nachkommastellen. Es sollen halt nicht mehr als nötig sein, aber auch nicht abgeschnitten werden. Wie mach ich das.
mit write(var:1); habe ich halt diese Exp.-Schreibweise.

Wer kann helfen?

Hallo,

write (myvar:4:2); {:Stellen gesamt:Stellen nach Komma}

Gruss Reinhard

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Jaja, aber ich möchte eine Variable ausgeben, von der ich nicht weiss, wieviel sie Kommastellen hat. Die Anzahl der Vorkommastellen kann ich ja mit int(ln(variable)/ln(10))+1 ermitteln

Jaja, aber ich möchte eine Variable ausgeben, von der ich
nicht weiss, wieviel sie Kommastellen hat. Die Anzahl der
Vorkommastellen kann ich ja mit int(ln(variable)/ln(10))+1
ermitteln

Das ist ein Problem: die Frage, wieviel Nachkommastellen eine Zahl hat, ist mathematisch ohne jeden Sinn - das merkt man spätestens beim Umwandeln in ein anderes Zahlensystem, die unendlichen Brüche sind dann jeweils andere Zahlen.

Mathematik und Programme befassen sich ausschliesslich mit der Frage, wie genau man ein Zahl wissen/darstellen muss. Du könntest höchstens die Zahl mit der maximalen Stellenzahl ausgeben und dann um die „trailing zeroes“ kürzen.

Gruss Reinhard