Einzelnen Beitrag anzeigen

Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.604 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#19

AW: Nachkommastellen von Extended abschneiden um Integer zu erhalten

  Alt 28. Mai 2024, 08:49
Meine Zahlen haben einen Bereich von 0.0 bis 799.99. Die Zahlen kommen von Maschinen die dessen Werte über RS232 senden.
Bei solchen Protokollen werden die Zahlen oft als String übertragen. Ist das auch hier der Fall? Wenn ja, dann speichere die Werte einfach als Integer vor dem Komma plus Nachkommateil ebenfalls als Integer.
Oder den Wert * 100, was bei dem Wertebereich problemlos in einen Integer passt (Int16 ist out, ebenso UInt16, wegen des Wertebereichs).

Dann erhält man die ganzzahligen Werte mittels div 100 und die Nachkommastellen mittels mod 100.
Und wenn man addiert, erhält man wieder eine Zahl, für die dasselbe gilt.

Bei halbwegs modernem Delphi kann man das sogar in einen enhanced Record packen.
Thomas Mueller
  Mit Zitat antworten Zitat