for f in [0.0, 0.1, 10.0, 12345678.9, 123456789.0, 12345678912345.0, 12345678912345.6, 1.000000000001]: format = "%d" if f.is_integer() else "%s" print("%20r -> %s" % (f, (format % f)))
Standard input is empty
0.0 -> 0
0.1 -> 0.1
10.0 -> 10
12345678.9 -> 12345678.9
123456789.0 -> 123456789
12345678912345.0 -> 12345678912345
12345678912345.6 -> 1.23456789123e+13
1.000000000001 -> 1.0