I have a problem with matching two variables of type "Real". One of them is the result of a mathematical operation stored in the data set, the second is the value of the edit field in the form, converted by StrToFloat and stored in the "Real" variable. The problem is this: 
As you can see, the program is trying to tell me that 121.97 is not equal to 121.97 ... I read this section , and I'm not sure if this is the same problem. If that were the case, it would not be both numbers stored in variables, how exactly is the exact same nearest representable number that is 121.96999 99999 99998 86313 16227 83839 70260 62011 71875 ?
Now let's say that they are not stored as the same representable number. How to find out exactly how they are stored? When I look in the "CPU" debug window, I am completely lost. I see the addresses where these values ββshould be, but nothing even looks like some kind of binary, hexadecimal or other representation of the actual number ... I admit that the extended debugging of an unknown universe to me ...
Edit: These two values ββare really slightly different.

Well, I donβt need to understand everything. Although I do not have money with money, there will be a maximum of 3 decimal places, so "currency" is the way out
BTW: Calculation:
DATA[i].Meta.UnUsedAmount := DATA[i].AMOUNT - ObjQuery.FieldByName('USED').AsFloat;
In this case, it is 3695 - 3573.03
source share