When I run this code,
print('{:.15f}'.format(123456789.55555555555555555555555555555555555555))
print('{:.25f}'.format(0.5555555555555555555555555555555555555555555555))
I get this output:
123456789.555555552244186
0.5555555555555555802271783
Where do those extra digits come from(123456789.555555552244186
, 0.5555555555555555802271783
) and why are they not zero?
I am guessing they are generated by the conversion algorithm and are meaningless, but I would like to have more info on this. It would be nice if the conversion algorithm made them zero.