I need to edit the values in other AdvEdit (new status and difference) based on the value change in MyAdvEdit.
MyAdvEdit - accuracy is 2
The problem is that the OnChange event is called twice. First time when changing data, second time when formatting. This is undesirable. I can't tell.
Auxiliary variables didn't help me. For formatted OnChange, they contain the original values and not updated. I did not find another suitable event.
How can this be solved?

I cannot see a problem.
Please provide FULL and EXACT information, property settings, event handler code, setup code, steps ...

I have MyEdit1..n and SumEdit. I enter values into MyEdit. I am updating the SumEdit value as you type.
An example of SumEdit.FloatValue is 100. I write 5 to MyEdtix. In MyEdtix.OnChange I have SumEdit.FloatValue: = MyEdit.FloatValue. The resulting value in SumEdit = 110.00 and not 105.00
Sorry, I was waiting for an e-mail :)
Edit:SumEdit.FloatValue: = SumEdit.FloatValue + MyEdit.FloatValue

It's all me. The most important:

Precision = 2
EditType = etMoney

Thanks for reporting the issue was resolved.

We don't understand a bit. The Precission property must be greater than 0. Otherwise, an "error" will not occur. The "Formating" event, and consequently the OnChange event, does not occur.

I retested this with 3 default TAdvEdit controls on the form and the code:

procedure TForm2.AdvEdit1Change(Sender: TObject);
  advedit3.FloatValue := advedit1.FloatValue + advedit2.FloatValue;

procedure TForm2.AdvEdit2Change(Sender: TObject);
  advedit3.FloatValue := advedit1.FloatValue + advedit2.FloatValue;

procedure TForm2.FormCreate(Sender: TObject);
  advedit1.EditType := etMoney;
  advedit1.Precision := 2;
  advedit2.EditType := etMoney;
  advedit2.Precision := 2;
  advedit3.EditType := etMoney;
  advedit3.Precision := 2;

I cannot see any moment that the calculation is wrong here.

I sent a primitive form to try it on.