Thema: Delphi Single runden

Einzelnen Beitrag anzeigen

Scurra

Registriert seit: 19. Jan 2015
81 Beiträge
 
Delphi 10.3 Rio
 
#12

AW: Single runden

  Alt 18. Mär 2015, 20:06
Ok, dann bin ich froh, dass es wahrscheinlich nur an Lazarus liegt, dass es bei mir nicht funktioniert. Ich habe mir jetzt einmal genau angeschaut, was SetPrecisionMode und SetRoundMode bedeutet. Für Single funktioniert das ganze vmtl., wenn ich SetPrecisionMode(pmSingle) verwende. Gibt es eine Möglichkeit, abzufragen, ob eine Zahl Single oder Double ist. Ich habe es mit

Delphi-Quellcode:
var
  x1: Single

if x1 is Single then ...
versucht, aber führt zu einem Fehler: Class or interface type expected, but got "Single".

Ansonsten könnte ich wohl auch 2 überladene Versionen der Funktion verwenden:

Delphi-Quellcode:
function(aValue: Single; aPrecision: Integer): Single; overload;
function(aValue: Double; aPrecision: Integer); Double; overload;
Noch eine Frage zum Rundungsmodus rmTruncate: In der Hilfe steht hierzu: Truncates the value, rounding positive numbers down and negative numbers up.

Warum wird dann 44.6 (positive Zahl) auf 45 aufgerundet?

Danke für deine/eure Hilfe!
  Mit Zitat antworten Zitat