Es gibt ja auch andere Möglichkeiten:
https://de.wikipedia.org/wiki/BCD-Code
Lesen und sich eine eigene Meinung bilden.
Gruß
K-H
P.S.
Meine Ausbilderin (ende der 70er) sagte immer Rechner sind schnell oder genau. Beides auf einmal geht nicht.
Wenn man den Wertebereich genau kennt, und auch die gewünschte Auflösung fix ist kann man ja auch mit integer arbeiten.
Z.B. Bereich ist innerhalt +/-100000 mit einer Auflösung von 0.001, dann kann man einfach intern mit IntVariable * 1000 rechnen, und nur bei Anzeigen wieder um 1000 korrigieren.
Die internen Berechnungen sind dann sehr schnell, mit Integer, nur bei den Ein- Ausgaben muss man konvertieren.
Das ist dann sehr exakt, nur bei Berecnungen muss man aufpassen das man nicht das Integer-Limit überschreitet.
Man könnte sich einen eigenen Typ dafür bauen und/oder mit record helpern eine Überlaufprüfung o.ä. einbauen.