The data binding should format rather than round, otherwise you risk to end up on the same problem.
Rounding a float 0.82
to the second digit will give you the same binary representation which is close enough but not exactly 0.82
and will leak that tail of digits when converted to string.
Creating the string representation of the same number can be done specifying the number of digits and it’s safer: f'{value:.2f}'
will always round to and show two digits.