Calculation results differs with data types
Posted: Sat Oct 29, 2016 8:46 am
I wonder why these calculations give me different results:
OriginX is always (significant) smaller or equal to f although every operand of the right side of the assignment (1) is converted to float.
Code: Select all
var() config byte RadarPosRatioX; // 0=left, 100=right
...
simulated function DrawRadar(canvas Canvas, ERDR_Position APosition, int RangeRadius) {
local int RadarCycleRadiusOuter;
local int OriginX, OriginY;
local float f;
RadarCycleRadiusOuter = 123;
RadarPosRatioX = 100;
OriginX = (Canvas.SizeX - 2 * float(RadarCycleRadiusOuter)) / 100 * float(RadarPosRatioX) + float(RadarCycleRadiusOuter); // (1)
f = (Canvas.SizeX - 2 * RadarCycleRadiusOuter) / 100 * RadarPosRatioX + RadarCycleRadiusOuter;