the return code is wrong for big number, e.g.: `print("{0:g}".format(float(1000000001.0)))` the return is **1e+09**, not **'1000000001'**