from decimal import Decimal
def format(number):
n = Decimal(number)
return '{:.{}f}'.format(n, max(1, -n.normalize().as_tuple().exponent))
for number in "42", "42.0000", "42.34", "42.3400", "42.3456":
print(number, "=>", format(number))
ZnJvbSBkZWNpbWFsIGltcG9ydCBEZWNpbWFsCgpkZWYgZm9ybWF0KG51bWJlcik6CiAgICBuID0gRGVjaW1hbChudW1iZXIpCiAgICByZXR1cm4gJ3s6Lnt9Zn0nLmZvcm1hdChuLCBtYXgoMSwgLW4ubm9ybWFsaXplKCkuYXNfdHVwbGUoKS5leHBvbmVudCkpCgpmb3IgbnVtYmVyIGluICI0MiIsICI0Mi4wMDAwIiwgIjQyLjM0IiwgIjQyLjM0MDAiLCAiNDIuMzQ1NiI6CiAgICBwcmludChudW1iZXIsICI9PiIsIGZvcm1hdChudW1iZXIpKQ==