Maybe you should not round the value before displaying in textbox; or use double.ToString(“R”).
I think that you should consider the decimal type in DTO and money or decimal in database. Is it mandatory to keep the database unchanged?
If it is not possible to improve the database, then maybe keep the original double value. If the textbox was changed, then use the edited value. Otherwise use the kept value.