Ein Tipp: Du musst nicht runden, ausser du willst es.
Du kannst also schreiben:
Dummy1.RotationAngle.X := 8*OrientationSensor1.Sensor.HeadingZ;
oder wenn du wirklich runden willst:
Dummy1.RotationAngle.X := round(8*OrientationSensor1.Sensor.HeadingZ);
(( Und die eckigen Klammern hast du evt. aus dem Beispielcode für den Orientationsensor - dort geht es aber um die Funktion format(..) und nicht um die Zahl selbst. ))
Double und Single sind einfach verschieden genaue Real-Typen.
Ich empfehle dir:
http://docwiki.embarcadero.com/RADSt...ormate_(Delphi)
Du kannst eine double Zahl einer single Zahl zuordnen, musst dir aber [je nach Anwendungszweck] evt. bewusst sein, was du dabei an Genauigkeit verlierst.
Beispiel:
Wenn du die Doublezahl d=-32.2424 einer single Zahl s zuordnest, dann wirst du sehen, dass die Nachkommastellen 2424 durch die single Zahl nicht genau abgebildet werden können.
Delphi-Quellcode:
var s : single;
d : double;
begin
d := -32.2424;
s := d;
showmessage(floattostr(s));
end;
Genau gleich:
Delphi-Quellcode:
var s : single;
begin
s := -32.2424;
showmessage(floattostr(s));
end;